重定向已重定向的页面

时间:2010-11-03 16:57:33

标签: .htaccess mod-rewrite url-rewriting url-routing

RewriteRule ^teamstore/(.*)/$ /teamproduct.php?teamproduct=$1&products=true [NC,L]
RewriteRule ^teamstore-(.*)/$ /teamproduct.php?teamproduct=$1&products=true [NC,L]

这是情况。我们已经重写了这些网址,但我们想要更改这些网页的格式,以便它们用连字符而不是斜线分隔。

我尝试了redirectmatch但是这会在网址的末尾添加额外的php值参数。它出来了

RedirectMatch 301 /teamstore/(.*) http://www.domainname.com/teamstore-$1/

结果是......

teamstore-valuehere//?teamproduct=2352323&productes=true

我希望有人在原始地址teamstore / info /中输入指向teamstore-info / - 有关如何实现此目的的任何想法?

主要原因是为了避免Google搜索结果中现有链接出现重复内容问题。

1 个答案:

答案 0 :(得分:2)

规则的顺序可能很重要,但是如果你想301重新定位初始请求的SEO原因,那么我会将你的RewiteRules更改为以下内容。

RewriteRule ^teamstore/(.*)/$ teamstore-$1/ [R=301,L]
RewriteRule ^teamstore-(.*)/$ /teamproduct.php?teamproduct=$1&products=true [NC,L]

首先将teamstore/info/翻译为teamstore-info/并发送相应的301响应。在第二次传递时,它将重定向到您想要的php。

注意,就性能而言,这并不理想。然而,它确实实现了让Google高兴的目标。