我正在尝试清理我网站上的重复页面。它应该很容易用.htaccess删除。我很接近,但它确实有一个重定向循环。在下面的示例中,我不关心“-a”之前和域名之后的任何内容。我只需要“123”。
示例网址 www.mysite.com/go-home-jimbo-a-123.html
我希望301重定向为: www.mysite.com/-a-123.html
我希望服务器能够看到 www.mysite.com/location.php?a=123
这是我所拥有的,但它进入了一个重定向循环
RewriteEngine On RewriteBase / Options +FollowSymLinks RewriteRule ^(.*)-a-([0-9]+).html$ http://www.mysite.com/-a-$2.html [R=301,L] RewriteRule ^(.*)-a-([0-9]+).html$ location.php?a=$2&%{QUERY_STRING}
答案 0 :(得分:0)
它有一个重定向循环,因为目标URL也与源模式匹配。试试这个:
RewriteEngine On
RewriteBase /
Options +FollowSymLinks
RewriteRule ^.+-a-(\d+).html$ http://www.mysite.com/-a-$1.html [R=301,L]
RewriteRule ^-a-(\d+).html$ location.php?a=$1 [L,QSA]