我在apache2日志中收到此错误:
[Tue Apr 06 09:00:56 2010] [错误] [客户A.B.C.D]请求失败: URI太长(超过8190)
我可以更改哪些设置来增加此限制?
答案 0 :(得分:14)
最好的答案是“不要那样做”。有关原因的解释,请参阅http://www.boutell.com/newfaq/misc/urllength.html。
如果您需要传递那么多数据,请使用POST,而不是GET。
答案 1 :(得分:12)
您必须在Apache源代码中设置DEFAULT_LIMIT_REQUEST_LINE
常量,然后重新编译Apache。此常量位于httpd.h
头文件中。
完成此操作后,您可以使用LimitRequestLine
指令减少请求限制。
有关详细信息,请参阅http://httpd.apache.org/docs/2.0/mod/core.html#limitrequestline。
答案 2 :(得分:6)
快速破解它,只需编辑apache2.conf文件并添加以下行:
LimitRequestLine 100000
重启apache,你们都很好。虽然您应该更改代码以使用POST而不是GET,并尽快删除该行。
答案 3 :(得分:4)
打开/etc/apache2/apache2.conf
并插入AccessFileName .htaccess
下:
LimitRequestLine 1000000
LimitRequestFieldSize 1000000
答案 4 :(得分:0)
增加limit request line和limit request field size的Apache限制并保存。
下一步,使用sudo service apache restart
重新启动apache
希望,这将解决问题。
答案 5 :(得分:0)
如果您将虚拟主机与Apache一起使用,则必须在第一个虚拟主机定义中使用匹配的端口设置LimitRequestLine
和LimitRequestFieldSize
。
对于Ubuntu / Debian,它位于/etc/apache2/sites-available/000-default.conf
中。
如果您在/etc/apache2/apache2.conf
中设置了这些参数,则无法使用。