Apache 重写条件检查静态文件是否存在

Apache 重写条件检查静态文件是否存在,apache,mod-rewrite,Apache,Mod Rewrite,我只想在存在一个静态的、预先确定的文件(.redirect\u enabled)时应用重写规则。[是的,我简化了我的用例,所以]这可能吗?我尝试了以下几种变体: RewriteCond /.redirect_enabled -f RewriteRule .* /redirect_page.html [R=302,L] 重写条件-f需要完整的文件路径来测试文件是否存在。对于动态文件,可以使用%{REQUEST\u FILENAME}。如果要测试静态文件,需要模拟此格式%{DOCUMENT_ROO

我只想在存在一个静态的、预先确定的文件(
.redirect\u enabled
)时应用重写规则。[是的,我简化了我的用例,所以]这可能吗?我尝试了以下几种变体:

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

重写条件-f
需要完整的文件路径来测试文件是否存在。对于动态文件,可以使用
%{REQUEST\u FILENAME}
。如果要测试静态文件,需要模拟此格式
%{DOCUMENT_ROOT}
应该指向您网站的www根目录,这样您就可以使用以下内容测试静态文件的存在性:

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

我相信
-f
可以使用完整的文件路径。在展开时检查
%{REQUEST\u FILENAME}
是什么,并将其与静态文件匹配。您可能可以使用
%{DOCUMENT\u ROOT}
。(要测试:执行类似于
RewriteRule^foo$/bar?rf=%%{REQUEST\u FILENAME}&dr=%%{DOCUMENT\u ROOT}[R,L]
的操作并转到example.com/foo)很遗憾,无法在此计算机上测试它。谢谢!就是这样。它所需要的只是前面的“{DOCUMENT_ROOT}”。测试的好主意!!