Apache mod_rewrite RewriteCond以避免循环

时间:2012-10-27 18:39:20

标签: apache mod-rewrite

有什么区别:

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]

和这一个:

RewriteCond %{ENV:REDIRECT_STATUS} ^.
RewriteRule ^ - [L]

碰巧这个最后一个曾经很好地工作了很长时间,直到它突然停止工作导致Apache显示目录列表!第一个解决了这个问题。 那第二个怎么了?

谢谢

1 个答案:

答案 0 :(得分:1)

RewriteCond %{ENV:REDIRECT_STATUS} 200

检查REDIRECT_STATUS环境变量是否等于200(实际上,模式将匹配任何包含200的字符串)。

RewriteCond %{ENV:REDIRECT_STATUS} ^.

检查REDIRECT_STATUS环境变量是否至少有一个字符长。

第二个应该有效,因为200应该匹配^.。也许问题出在其他地方。