我的/old/.htaccess中有两个规则:
RedirectMatch 301 /old/(.*)? /new/$1
RewriteRule ^(page_[^/]+)[/]*$ index.php?page=$1 [L]
如果第一个规则与重定向匹配,如何使其停止匹配第二个规则?我发现两个规则都会对新网址进行处理,例如: ... / old / page_123 - > ... /新/ page_123?页= 123
答案 0 :(得分:1)
将[L]
放在第一行
RedirectMatch 301 /old/(.*)? /new/$1 [L]
RewriteRule ^(page_[^/]+)[/]*$ index.php?page=$1 [L]
答案 1 :(得分:1)
尝试将RedirectMatch
翻译为RewriteRule
并使用L
标志在匹配后终止:
RewriteRule /old/(.*)? /new/$1 [L,R=301]
RewriteRule ^(page_[^/]+)[/]*$ index.php?page=$1 [L]