我正在尝试在.htaccess文件中完成以下操作,但似乎无法让它工作......
第一步是它出错了,我似乎无法找到一种方法来检查文件是否存在,当前没有被请求。 我一直在寻找很多不同的东西,也就是RewriteMaps,但似乎无法从重写映射重定向,或者这对我来说不太清楚。 例如,如果我编写简单的perl脚本来检查文件是否存在,我如何从中获取结果是否重定向?
感谢您提供任何帮助/提示!
答案 0 :(得分:3)
我不确定你已经拥有什么,但这应该有效。由于内部重定向循环,使用-f
时可能会出现500错误。
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.htm
RewriteCond %{DOCUMENT_ROOT}/maintenance.htm -f
RewriteRule (.*) /maintenance.htm [L,R]
RewriteCond %{REQUEST_URI} /maintenance.htm
RewriteCond %{DOCUMENT_ROOT}/maintenance.htm !-f
RewriteRule (.*) /index.php [L,R=301]
希望这有帮助。
答案 1 :(得分:0)
也许RewriteCond %{REQUEST_FILENAME} !-f
有助于检查文件是否存在
' - f'(是常规文件)对待 TestString作为路径名并进行测试 它是否存在,是一个 常规文件。