<If>子句以RewriteRule失败

问题描述

我的.htaccess中已经有以下指令

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.PHP/$1 [QSA,C]

    <If "-f %{DOCUMENT_ROOT} . '/maintenance/off.PHP'">
    RewriteCond %{REMOTE_ADDR} !=1.2.3.4
    RewriteCond %{REQUEST_URI} !^/maintenance
    RewriteRule .* /maintenance/off.PHP [L]
    </If>

</IfModule>

这不能正常工作。 If子句正在触发,但是当我从允许的IP访问它时,它以某种方式失败。如果我只是删除<If>子句,它将再次起作用。我找不到如何使用RewriteCond来检查我的文件标志是否存在。

编辑:我正在使用RewriteCond %{DOCUMENT_ROOT}/maintenance/off.html -f,它工作正常,只是发现<If>无法正常工作很奇怪。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)