.htaccess 冲突的重写规则

.htaccess 冲突的重写规则,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我有下面列出的几个重写规则 RewriteRule ^([^/\.]+)\.html?$ php/statePage.php?region_slug=$1 [L] RewriteRule ^([^/\.]+)-tree-services/([^/\.]+)\.html?$ php/cityPage.php?region_slug=$2&state_slug=$1 [L] RewriteRule ^([^/\.]+)-tree-services/([^/\.]+)/([^/\.]+)\.h

我有下面列出的几个重写规则

RewriteRule ^([^/\.]+)\.html?$ php/statePage.php?region_slug=$1 [L]
RewriteRule ^([^/\.]+)-tree-services/([^/\.]+)\.html?$ php/cityPage.php?region_slug=$2&state_slug=$1 [L]
RewriteRule ^([^/\.]+)-tree-services/([^/\.]+)/([^/\.]+)\.html?$ php/vendorPage.php?slug=$3&region_slug=$2&state_slug=$1 [L]

RewriteRule ^([^/\.]+)-Sitemap\.xml?$ php/xmlState.php?region_name=$1  [L]

RewriteRule ^([^/\.]+)\.html?$ php/otherPages.php?pageSlug=$1  [L]

前四个可以正常工作,但是最后一个重写规则显示的是
statePage.php
文件的模板,而不是
otherPages.php
文件。

您注意到您的第一个和最后一个规则是相同的吗?这就是为什么你的最后一条规则永远不会发生?您需要在规则中添加其他内容,以明确何时应转到statepage以及何时应转到otherpagesYes,但我不确定如何编写另一条仍然正常工作但与其他规则不同的规则。