我在.htaccess文件中有一堆ErrorDocument指令,以便捕获Apache可以向用户抛出的几乎所有可能的错误,并将所述用户重定向到我的错误控制器,然后以更加用户友好的方式呈现错误.但是,它似乎不起作用.
例如,当我输入无效的网址时,例如mysite.com/""##$##$!我总是得到Apache的默认403错误消息,而不是重定向到我的errors.php文件.以下是我正在使用的指令.我需要做任何其他事情来使它工作吗?(已设置AllowOverride All)
ErrorDocument 403 /errors.php
Run Code Online (Sandbox Code Playgroud)
如果这是接近绝对自定义错误处理的错误方法,请告诉我,我将非常感谢在正确的方向上轻推.
谢谢!
编辑:哦,我以为我会提到这个.我编写了自己的MVC结构来重定向请求,它运行良好.从PHP内部,如果用户请求不存在的URL,我自己的404错误将被解雇(或者我已经定义的任何其他错误).所以基本上,如果我进入mysite.com/!!!! 进入URL,它将工作,我得到一个404.但是,每当我用双引号字符启动一个请求时,默认的Apache 403错误就会触发.奇.此外,500错误也将无法重定向到errors.php,并且只会返回默认的Apache 500屏幕(例如,使用标头测试时("HTTP/1.0 500内部服务器错误"); die();) .
编辑3:我刚尝试放入ErrorDocument 200 "message"我的.htaccess文件,没有任何反应,我打开的任何页面都正常打开.最糟糕的情况是,这应该陷入无限循环.最好的情况,它应该输出"消息".它没有做,它只是忽略了ErrorDocument.Apache的Access Log记录了一个普通的200 OK标题,然而.htaccess完全忽略了它.