RewriteCond检查静态文件是否存在

时间:2014-01-03 06:23:31

标签: apache mod-rewrite

我只想在存在一个静态的预定文件(.redirect_enabled)时应用RewriteRule。 [是的我已经简化了我的用例]这可能吗?我尝试过以下各种变体:

RewriteCond /.redirect_enabled -f
RewriteRule .* /redirect_page.html [R=302,L]

1 个答案:

答案 0 :(得分:1)

RewriteCond ... -f需要一个完整的文件路径来测试文件是否存在。对于动态文件,可以使用%{REQUEST_FILENAME}。如果要测试静态文件,则需要模拟此格式。 %{DOCUMENT_ROOT}应该指向您网站的www-root,因此您可以使用以下内容测试静态文件的存在性:

RewriteCond %{DOCUMENT_ROOT}.redirect_enabled -f
RewriteRule ^foo$ /bar [R,L]