什么是“414 请求 URI 太长”错误以及如何修复它(对于编码站点和 WordPress 站点)

Nkenganyi Clovis WordPress Tutorials Sep 11, 2023

414 请求 URI 太长错误是一个 HTTP 状态代码,指示服务器由于URI(统一资源标识符)太长而无法执行请求。

URI 是标识在线资源(例如网页、图像或文件)的字符串。查询字符串是 URI 的一部分,携带服务器的附加信息或参数,也可以包含在 URI 中。

例如,这是一个带有查询字符串的 URI:

https://example.com/search?q=what+is+414+request+uri+too+long+error

创建令人惊叹的网站

使用最好的免费页面构建器 Elementor

现在开始

查询字符串以问号 (?) 开头,并包含参数q ,其值为what+is+414+request+uri+too+long+error

请记住,URI 和URL之间是有区别的。 URI(即统一资源标识符)可能是资源的名称、位置或两者。另一方面,URL(即统一资源定位符)只能是资源的位置。

服务器配置和浏览器规范限制 URI 的长度。不同的服务器和浏览器可能有不同的限制,但是,平均 URI 长度约为 2000 个字符。如果 URI 长于此限制,服务器可能会抛出 414 错误以警告它无法接受如此长的请求。

414请求URI太长错误是什么原因造成的?

414 请求 URI 太长错误有多种可能的原因。他们之中有一些是:

1.将带有冗长查询字符串的 POST 请求转换为 GET 请求

POST 请求是一种 HTTP 请求,它在消息正文中将数据发送到服务器,而 GET 请求则在 URI 中传输数据。 POST 请求有时可能会被浏览器、中间代理或防火墙转换为 GET 请求。这可能会导致查询字符串超过 URI 限制。

2. 使用生成冗长 URI 的插件或主题:

某些插件或主题可能会使用长 URI 来执行特定功能或在 WordPress 网站上显示特定功能。例如,某些插件可能会使用 URI 来存储用户首选项、设置或数据。某些主题可能会使用 URI 来生成动态布局、菜单或小部件。如果这些 URI 具有太多参数或值,则它们可能会超出限制。

3.构建重定向循环:

重定向是一种将用户从一个 URI 移动到另一个 URI 的方法。重定向有时可能会指向另一个重定向,从而导致循环。如果https://example.com/a重定向到https://example.com/b ,并且https://example.com/b重定向到https://example.com/a ,则存在重定向循环。

当发生重定向时,查询字符串可能会附加到新的 URI,并延长它直到接近限制。

4、服务器被攻击:

恶意用户可能会故意向服务器提交很长的 URI,以引起错误或利用漏洞。这可能是拒绝服务或注入攻击的一部分。

如何修复 414 请求 URI 太长错误?

在继续之前,我们建议您创建 WordPress 备份。这是因为解决414问题需要修改网站配置文件。如果出现问题,您将有一个网站的备份副本可供恢复。

1. 确定您的网站是由 Apache 还是 Nginx 提供支持

首先,您必须确定您的 WordPress 网站使用的服务器类型。服务器有两种主要类型: ApacheNginx

在浏览器中打开您的网站是实现此目的的一种简单方法。接下来,右键单击主页并选择“检查”选项或按键盘上的F12 按钮

接下来,转到顶部并选择“网络”选项卡。

您现在可以从“名称”列中选择任何元素。之后,转到“响应标头”部分并查看“服务器”详细信息。

这将告诉您您的站点是由 Nginx 还是 Apache 提供支持。

如果您仍然不清楚要使用哪种服务器类型,请联系您的 WordPress 托管提供商以获取更多信息。

确定服务器类型后,我们看看如何解决 Apache 和 Nginx 的 414 请求 URI 太长问题。

修复 Nginx 中的 414 请求 URI 太长错误

要访问网站配置文件,您首先需要 FTP 或文件传输协议客户端。

有许多可用的 FTP 客户端。本课程将使用 Filezilla。

登录后,您必须下载“nginx.conf”文件。您可以通过以下位置访问它:/etc/nginx/nginx.conf。

找到该文件后,将其下载到计算机上并使用记事本软件打开它。

您可以从此处查找large_client_header_buffers 4 8K设置。如果不存在,只需将其放在文件末尾即可。

将有两组值,一组对应于每个数字和尺寸。只需将文件大小从8K更改为128K即可。这将延长 URI 并允许站点服务器处理长 URL。

完成后,保存文本文件并通过 FTP 客户端将其重新上传到您的网站。

修复 Apache 中的 414 请求 URI 太长错误

如果您使用 Apache 作为服务器,则该过程与 Nginx 类似。要访问网站文件,您首先需要一个 FTP 客户端。

登录后,查找“apache2.conf”文件。使用 FTP 客户端导航到以下位置:/etc/apache2/apache2.conf。

之后,下载该文件并在记事本软件中打开它。

接下来,查找LimitRequestLine 128000设置。如果没有看到,只需在文件末尾添加一即可。

LimitRequestLine 通常设置为 128000。但是,您可以将其增加到 256000 或更高以消除 414 错误。只需确保您输入的数字是 2 的倍数即可。

完成后,保存文本文件并通过 FTP 客户端将其重新上传到您的网站。执行此操作后,414 错误应该得到解决。

2. 更新或禁用生成长 URI 的插件或主题

如果您在 WordPress 网站上使用生成长 URI 的插件或主题,则应检查是否有可能解决该问题的更新。如果没有,您可能需要考虑暂时或永久禁用它们,直到找到更好的解决方案。

3.联系您的托管提供商或网站管理员

如果您没有自己的服务器,但在您的 WordPress 网站或您正在访问的其他网站上看到此问题,您应该联系托管提供商或网站管理员,并要求他们增加其服务器上的 URI 长度限制。

结论

我希望这篇博文能够澄清 414 请求 URI 太长错误是什么以及如何在您的 WordPress 网站上解决它。

Divi WordPress Theme