考虑以下文件结构:
/duplicate/index.php
/duplicate.php
我希望在访问/duplicate/
URL时为/duplicate.php
提供服务(如果存在(,否则返回默认行为并为/duplicate/index.php
提供服务。
规则必须适用于任意级别的子文件夹(例如/a/b/c/d/e/f/
(
尝试以下操作:
RewriteEngine On
RewriteBase /
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*)/$ $1.php [L]
$1
是对RewriteRule
模式中捕获组的反向引用,即URL路径减去尾部斜杠。条件然后在重写URL之前检查文件是否存在。如果它不存在,那么它就会回到"默认行为"。