我想知道是否有一种方法可以使用Mod重写来处理每个可能的http状态错误代码(4XX和5XX ),而不是像这样在htaccess中声明它们:
# serve custom error pages
ErrorDocument 400 error.php?code=400
[...]
ErrorDocument 510 error.php?code=510在某个地方,我发现了这个小窍门:
# provide a universal error document
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ error.php [L]但它不是只处理404个吗?如果它是好的,我如何修改我的缓存破坏重写规则,使其也处理此功能?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\.\d+\.(css|js)$ $1.$2 [L]我需要像这样的东西:
IF %{REQUEST_URI} MATCHES "^(.+)\.\d+\.(css|js)$"
REWRITE TO "$1.$2"
ELSE
REWRITE TO "error.php"你能帮帮我吗?非常感谢!
发布于 2011-12-08 02:48:59
你是否期望在不久的将来出现新一波的HTTP状态代码,你不能仅仅列出10个左右的错误代码来指向正确的相应文档?你真的应该浏览一下List of HTTP status codes,找出你的服务器实际使用的是哪些,并为这些文件设置错误文档。一个普通的web服务器可能只会看到404和500,如果没有正确配置权限,可能会看到403,如果你使用的是共享web服务,可能会看到509 (尽管我认为这是由主机提供商处理的)。如果你没有构建一些非常先进的web服务器,可以做很多不同的事情,那么你只是在浪费web服务器的微观时间来寻找那些它永远不会用到的错误代码。
但说真的,不要列出从400到510的每个状态代码。我是认真的。其中很多都是当执行脚本确定出现错误时手动发送的状态代码。
https://stackoverflow.com/questions/8420671
复制相似问题