htaccess删除数字前的项目

时间:2013-06-24 18:41:34

标签: .htaccess

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

1 个答案:

答案 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]