301重定向在我的情况下不起作用

时间:2013-10-10 12:08:26

标签: php regex apache .htaccess mod-rewrite

我有一个旧网址:

http://www.abc.com/search.php?id=12&name=amit

经过一段时间后,我在网址中进行了更改(正确的网址重写)并且变为

http://www.abc.com/search.php?name=amit&id=12

新网址(已更改网址)的网址重写已成功完成

http://www.abc.com/amit-12

但问题是,我如何从旧网址重定向301(通过htaccess)

http://www.abc.com/search.php?id=12&name=amit

新网址

http://www.abc.com/amit-12

我尝试了很多但是不成功......我该怎么办? 帮助..任何人!

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用此规则:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+search\.php\?id=([^&]*)&name=([^\s&]+) [NC]
RewriteRule ^ /%2-%1? [R=301,L]

确保在所有其他规则之前插入此规则