我的问题是类似于这个问题,但对于 Apache 来说。我使用自定义错误处理页面自行处理所有 HTTP 错误。
我今天注意到,当我收到 414 错误时,我会收到默认的 Apache 414 错误页面:
Request-URI Too Long
The requested URL's length exceeds the capacity limit for this server.
Apache/2.4.25 (Debian) Server at host Port 80
我一直在尝试了解如何修复此问题,但进展不大。不过,似乎 Apache 甚至不允许 414 请求到达我的网站,所以我的.htaccess
文件没有被读取。
我如何强制 Apache 将 414 错误请求传递给我的网站?我需要能够自己处理错误。
除了 414 之外,我还没有遇到过这种奇怪的问题。404、403、401 等都可以正常工作 - 只有这个不行 - 所以不是我的错误处理总体上不起作用。我的.htaccess
答案1
不要将其放在目录级别内.htaccess
。
.htaccess
文件提供了一种根据每个目录进行配置更改的方法。
.htaccess
如果您有权访问 httpd 主服务器配置文件, 则应完全避免使用 文件。使用.htaccess
文件会降低 Apache http 服务器的速度。任何可以包含在文件中的指令.htaccess
最好都设置在Directory
块中,因为它会具有相同的效果,且性能更好。
相反,将其放在全局配置中,因为错误414
在进入内部Directory
甚至VirtualHost
上下文之前就被触发。