0

我正在尝试清理我网站上的重复页面。它应该很容易用 .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

这是我所拥有的,但它进入了重定向循环

    重写引擎开启
    RewriteBase /
    选项 +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}
4

1 回答 1

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]
于 2013-06-24T18:51:15.920 回答