1

我已经成功创建了一个 .htaccess 文件,该文件可以正常工作,并将所有错误代码(400、403、404、405、408、500、502、504)重定向到一个常见的 error-page.php。我正在使用$_SERVER["REDIRECT_STATUS"];检测错误代码,但是当页面导航到错误时,应该发生,我收到一个未定义的索引:REDIRECT_STATUS错误。我需要设置一些配置或其他变量吗?提前致谢

4

3 回答 3

4

您可以尝试使用类似...的东西

ErrorDocument 404 /error-page.php?status=404
ErrorDocument 500 /error-page.php?status=500

然后使用 $_GET 从那里相应地处理错误页面。

于 2012-08-30T01:11:45.147 回答
3

Apache 手册

重定向到本地 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 回答