我已经成功创建了一个.htaccess文件,该文件可以正常工作,并将所有错误代码(400,403,404,405,408,500,502,504)重定向到常见的error-page.php。 我正在使用 $ _ SERVER [“REDIRECT_STATUS”] ;检测错误代码,但是当页面导航到错误时,我会收到未定义索引:REDIRECT_STATUS 错误。是否需要设置一些配置或其他变量? 提前致谢
答案 0 :(得分:4)
您可以尝试使用类似......
的内容ErrorDocument 404 /error-page.php?status=404
ErrorDocument 500 /error-page.php?status=500
然后使用$ _GET从那里处理错误页面。
答案 1 :(得分:3)
重定向到本地URL时,会有其他环境变量 设置,以便可以进一步定制响应。他们没有被发送 到外部网址。
因此,如果您的ErrorDocument指令使用URL,则$_SERVER["REDIRECT_STATUS"]
将不可用。
而不是:
ErrorDocument 404 http://example.com/error-page.php
这样做:
ErrorDocument 404 /error-page.php
我无法找到任何说明何时添加到Apache的地方,因此我不确定此功能需要哪个版本。
答案 2 :(得分:0)
我想这有用吗?它适用于我遇到的几乎所有未定义的索引错误。
<?PHP
error_reporting(E_ALL & ~E_NOTICE);
?>