我已经成功创建了一个 .htaccess 文件,该文件可以正常工作,并将所有错误代码(400、403、404、405、408、500、502、504)重定向到一个常见的 error-page.php。我正在使用$_SERVER["REDIRECT_STATUS"];检测错误代码,但是当页面导航到错误时,应该发生,我收到一个未定义的索引:REDIRECT_STATUS错误。我需要设置一些配置或其他变量吗?提前致谢
问问题
3390 次
3 回答
4
您可以尝试使用类似...的东西
ErrorDocument 404 /error-page.php?status=404
ErrorDocument 500 /error-page.php?status=500
然后使用 $_GET 从那里相应地处理错误页面。
于 2012-08-30T01:11:45.147 回答
3
重定向到本地 URL 时,会设置其他环境变量,以便可以进一步自定义响应。它们不会发送到外部 URL。
因此,如果您的 ErrorDocument 指令使用 URL,$_SERVER["REDIRECT_STATUS"]
则将不可用。
而不是这个:
ErrorDocument 404 http://example.com/error-page.php
做这个:
ErrorDocument 404 /error-page.php
我无法找到任何地方说明何时将其添加到 Apache,因此我不确定此功能需要什么版本。
于 2013-04-11T07:23:38.607 回答
0
我想这会有所帮助吗?它适用于我遇到的几乎所有未定义的索引错误。
<?PHP
error_reporting(E_ALL & ~E_NOTICE);
?>
于 2012-08-30T01:21:02.247 回答