.htaccess使用GET变量将所有错误重定向到PHP文件
我正在试图找出如何重定向所有错误页面以重定向到/error.php?e={error HERE} 例如,如果用户遇到404错误,他们将被定向到/error.php?e=404.htaccess使用GET变量将所有错误重定向到PHP文件,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我正在试图找出如何重定向所有错误页面以重定向到/error.php?e={error HERE} 例如,如果用户遇到404错误,他们将被定向到/error.php?e=404 是否有可能做到这一点?您可以使用apache错误文档配置。这是更多的信息 理想情况下,我们能够做到: ErrorDocument 404 /error.php?e=404 但是,如果原始URL有一个查询字符串,它将覆盖ErrorDocument中的任何设置。解决方案可以是使用ErrorDocument和重写规则的组合:
是否有可能做到这一点?您可以使用apache错误文档配置。这是更多的信息
理想情况下,我们能够做到:
ErrorDocument 404 /error.php?e=404
但是,如果原始URL有一个查询字符串,它将覆盖ErrorDocument中的任何设置。解决方案可以是使用ErrorDocument和重写规则的组合:
ErrorDocument设置为各种错误返回的默认页面。重写规则将请求发送到实际的php文件,并在查询字符串中传递数字。更高级的方法是使用Apache为您创建的自定义重定向变量。请参阅这篇精彩的博客文章,了解更多有关自定义ErrorDocument的环境变量的信息 您可能还想在以下位置查看定制错误页面上的Apache文档:
ErrorDocument 404 /404
RewriteRule ^([0-9]+)$ /error.php?e=$1 [L]