现在我有以下.htaccess规则:
RewriteRule ^(.*)/(.*)_([0-9]+)/$ index.php?section_permalink=$1&content_permalink=$2&content_id=$3 [QSA,L]
RewriteRule ^(.*)/p-([0-9]+)/$ index.php?section_permalink=$1&page=$2 [QSA,L]
RewriteRule ^(.*)/$ index.php?section_permalink=$1 [QSA,L]
一切正常,但如果我添加以下规则,每次我尝试访问/ route / 10 /(例如)时,我都会被重定向到主页。
RewriteRule ^route/(.*)/$ route.php?route=$1 [QSA,L]
如何重写此规则以避免此问题?
谢谢。
答案 0 :(得分:0)
RewriteRule
按照文件中的顺序执行。 RewriteRule ^(.*)/$ index.php?section_permalink=$1 [QSA,L]
与网址匹配,网址被重写为index.php?section_permalink=route/10
。这与您的下一个重写不匹配。
交换更具体的规则,并且或多或少的全能规则将解决问题,因为将首先匹配更具体的规则。