3

使用 htaccess,我设法使错误页面在我的网站上漂亮地显示,如下所示:

ErrorDocument errorcode /pathtopage

包含的代码适用于我测试过的每一个错误代码,除了Error 414 Request URI too long。在这种情况下,Apache 似乎完全忽略了 htaccess 文件 - 有没有办法让它工作?

4

3 回答 3

3

某些错误页面(如 414 和 400)只能在服务器配置中自定义。我不知道原因,但是如果您有自己的服务器,那应该没问题。

于 2013-04-20T20:38:18.097 回答
2

ErrorDocument

尽管可以覆盖大多数错误消息,但在某些情况下,无论 ErrorDocument 的设置如何,都会使用内部消息。特别是,如果检测到格式错误的请求,将立即停止正常的请求处理并返回内部错误消息。这对于防止由错误请求引起的安全问题是必要的。

似乎“414 Request-URI Too Large”被认为足够严重,可以忽略适当的ErrorDocument 414设置。

于 2013-04-20T21:22:40.150 回答
0

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

于 2013-04-25T11:10:00.217 回答