我正在使用一个旧的CMS,它使用htaccess将带有GET变量的URI重写为更友好的用户。
RewriteEngine on
RewriteRule ^animals/(.*)/ secondary.php?page=$1
RewriteRule ^animals/(.*) secondary.php?page=$1
结果(正确地)在
中http://www.example.com/animals/duck
问题是我现在需要将其中一些页面重定向到新页面。我试过了:
Redirect 301 /animals/goose http://www.example.com/animals/fowl
重定向几乎可以正常工作,但它会在重写的URI末尾添加“?page = goose”:
http://www.example.com/animals/fowl?page=goose
我尝试过使用RewriteRule以及RewriteCond,但不幸的是我没有运气。任何帮助都会非常感激。
答案 0 :(得分:0)
尝试将其置于其他规则之前而不是Redirect语句。 R=301
用于重定向,L
表示相关规则是要处理的最后一条规则。
RewriteRule ^animals/goose /animals/fowl [R=301,L]
此外,您可以轻松地将斜杠(就像任何其他角色一样)带有问号,而不是有两个规则。
RewriteRule ^animals/(.*)/?$ secondary.php?page=$1