我正在使用我没写的.htaccess文件
RewriteEngine On
RewriteRule ^(foo|bar|baz|bof|x|y|z)(/.*)?$ $1.php
此规则对应于现有的.php文件
我是否有可能编写一个包罗万象的规则,但只有在$1.php
存在时才会重写?
我正在尝试这样的事情
RewriteRule ^(\w+)(/.*)?$ $1.php
但是,请考虑此路径
/helloworld/1/2/3 => helloworld.php
这里的问题是helloworld.php不存在。我不想重写这条道路。
我只想重写 IF $1.php
存在
答案 0 :(得分:1)
使用RewriteCond前缀
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(\w+).*$ $1.php
RewriteCond可以反直觉地使用$1
,因为RewriteRule匹配(但不是替换)总是先发生。