你好,长时间听众,第一次打电话来这里!
感谢您分享的优秀建议。
我设置了这些mod_rewrite规则:
RewriteRule ^([^/.]+)/([^/.]+)/?$ $1--$2.php?%{QUERY_STRING} [L]
RewriteRule ^([^/.]+)/?$ $1.php?%{QUERY_STRING} [L]
他们将 / company / services / 重定向到公司 - services.php。或/ company / to company.php。效果很好。
但是现在我想要另一个规则,如果我将services.php放在物理目录/ company /中,它将匹配并重定向。如果失败了,请寻找我的初步规则。 (如果没有,请返回404.)
我认为它就像包括:
一样简单RewriteRule ^([^/.]+)/([^/.]+)/?$ $1/$2.php?%{QUERY_STRING} [L]
但不是这样。它将返回404。我有点难过,因为这违背了我认为mod_rewrite工作的方式(如果规则不匹配,请转到下一个。)
谢谢你的任何指示!
答案 0 :(得分:0)
找到它。作为参考,这是一套完整的规则:
RewriteCond %{DOCUMENT_ROOT}/$1/$2.php -f
RewriteRule ^([^/.]+)/([^/.]+)/?$ /$1/$2.php?%{QUERY_STRING} [L]
RewriteRule ^([^/.]+)/([^/.]+)/?$ $1--$2.php?%{QUERY_STRING} [L]
RewriteRule ^([^/.]+)/?$ $1.php?%{QUERY_STRING} [L]