2010-04-10 48 views
29

有没有像通配符指令来捕获所有可能的错误并在单个自定义错误页面中处理它们?Single ErrorDocument指令捕获所有错误(.htaccess)

ErrorDocument 404 /error.php?code=404 
ErrorDocument 403 /error.php?code=403 
... 
ErrorDocument NNN /error.php?code=NNN #possible use of RegExp? 

我知道我可能不会在这里处理很多自定义错误页面,但我对此很好奇。

回答

23

这是不可能的。您需要为每个状态代码指定一个ErrorDocument指令,而不是使用默认错误处理程序。

+0

好吧,有点想法 - 我尝试使用一些在RewriteRule指令中使用的“技巧”,但他们只给了500个错误。感谢澄清。 – 2010-04-10 11:17:12

3

您可以通过REDIRECT_STATUS环境变量(由Apache设置)在脚本中提取错误状态代码,而不是传入错误状态代码。请参阅:http://httpd.apache.org/docs/2.0/custom-error.html

+3

这并不能解决在'.htaccess'中枚举每个错误代码的问题,但对于知道这些问题仍然有用 – HXCaine 2012-06-09 11:50:41

+0

这就是我正在做的事情,并且问题是如何使这个更容易在.htaccess中处理。 – 2017-03-23 02:01:01