1

我试图弄清楚如何将所有错误页面重定向到/error.php?e={ERROR HERE}.

例如,如果用户遇到 404 错误,他们将被定向到/error.php?e=404.

有没有办法做到这一点?

4

3 回答 3

0

理想情况下,我们只能做到:

ErrorDocument 404 /error.php?e=404

但是,如果原始 URL 有一个查询字符串,它将覆盖 ErrorDocument 中的任何设置(我相信)。一个解决方案可能是使用ErrorDocument和的组合RewriteRule

ErrorDocument 404 /404
RewriteRule ^([0-9]+)$ /error.php?e=$1 [L]

ErrorDocument设置为各种错误返回的默认页面。将RewriteRule请求发送到实际的 php 文件,并在查询字符串中传递数字。

于 2013-07-11T08:32:10.160 回答
0

您可以使用 apache 错误文档配置。这是更多信息

http://httpd.apache.org/docs/2.2/custom-error.html

于 2013-07-11T05:16:25.417 回答
0

更高级的方法是使用 Apache 为您创建的自定义 REDIRECT_ 变量。请参阅这篇很棒的博客文章以了解有关自定义 ErrorDocument 的环境变量的更多信息 http://www.benhallbenhall.com/2017/01/custom-apache-error-handler-error-url-php/

您可能还想查看http://httpd.apache.org/docs/2.2/custom-error.html上的自定义错误页面上的 Apache 文档

于 2018-06-02T07:32:43.263 回答