使用 htaccess,我设法使错误页面在我的网站上漂亮地显示,如下所示:
ErrorDocument errorcode /pathtopage
包含的代码适用于我测试过的每一个错误代码,除了Error 414 Request URI too long。在这种情况下,Apache 似乎完全忽略了 htaccess 文件 - 有没有办法让它工作?
使用 htaccess,我设法使错误页面在我的网站上漂亮地显示,如下所示:
ErrorDocument errorcode /pathtopage
包含的代码适用于我测试过的每一个错误代码,除了Error 414 Request URI too long。在这种情况下,Apache 似乎完全忽略了 htaccess 文件 - 有没有办法让它工作?
某些错误页面(如 414 和 400)只能在服务器配置中自定义。我不知道原因,但是如果您有自己的服务器,那应该没问题。
尽管可以覆盖大多数错误消息,但在某些情况下,无论 ErrorDocument 的设置如何,都会使用内部消息。特别是,如果检测到格式错误的请求,将立即停止正常的请求处理并返回内部错误消息。这对于防止由错误请求引起的安全问题是必要的。
似乎“414 Request-URI Too Large”被认为足够严重,可以忽略适当的ErrorDocument 414
设置。
For a "dirty hack" you can use something I use sometimes to my clients
ErrorDocument 414 '<meta http-equiv="refresh" content="0;URL=/error/414"><script>document.location.href=/error/414;</script>'
It works fine in most situations. Also consider the alternative of RewriteCond, something like this.. Is only a pseudo example.. (for regex examples you must pay, just joking)
RewriteCond %{REQUEST_URI} !^({max leght of uri here})$
RewriteRule ^(.*)$ /error/414
Hope to give you an idea, cya