这个问题可能总是相同的:"如果文件不存在,则应用规则",但是:ateention!它不是。这是倒数。
我要仅当规则的结果文件实际上存在,并且如果没有,则要应用重写规则,如果没有,请忽略规则并继续下一个规则。示例:
RewriteRule ^api/(.*) apifolder/$1.php
如果我键入url:" api/file1" 和文件" apifolder/file1.php" 不存在,那么我希望此规则是忽略并继续。
我希望这个问题很清楚。感谢您的时间。
编辑:
更多有关我要完成的事情的信息。给定接下来的两个规则:
RewriteRule ^api/([^/]+)/(.*) app/$1/$2.api.php
RewriteRule ^api/([^/]+)(.*) app/$1/$1.api.php
如果不存在第一个规则命运文件,我希望忽略规则并执行第二个规则。
对我而言[n]标志。我的意思是我使用[N]
使用的第一条规则,迫使所有规则再次应用,但是这次RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
是第二个规则的条件。我还需要将第一规则目标用作第二规则源。应该是这样的:
RewriteRule ^api/([^/]+)/(.*) app/$1/$2.api.php [N]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteRule ^app/([^/]+)/(.*).api.php app/$1/$1.api.php