2013-04-16 31 views
3

我试图在URL中包含'page = 1'的页面上设置301重定向,以阻止重复的内容问题。301使用获取变量重定向分页

例如

http://www.domain.com/reviews/?page=1http://www.domain.com/reviews/

我已经尝试了所有我能找到的变化,并且似乎无法得到任何工作。

RewriteRule ^reviews(/)?page=1$ http://www.domain.com/reviews/ [L,R=301] 

RewriteRule ^(.*)/?page=1 http://www.domain.com/reviews/ [R=301,L] 

RewriteCond %{QUERY_STRING} page=1 
RewriteRule ^reviews$ http://www.domain.com/reviews/ [R=301,L,NE] 

这些都没有奏效。我不确定还有什么可以尝试的。

有网站的多个不同部分,我需要做到这一点的:

reviews 
news 
videos 
accessories 
hardware 

的整体解决方案,所有重定向页面= 1页的URL的相关部分将是最好的?

回答

2

使用此代码,每一个URI与?page=1重定向到一个没有查询参数:

RewriteCond %{QUERY_STRING} ^page=1(&|$) [NC] 
RewriteRule^%{REQUEST_URI}? [R=301,L] 

否则,如果你想重定向ONLY /reviews URI然后

RewriteCond %{QUERY_STRING} ^page=1(&|$) [NC] 
RewriteRule ^(reviews)/?$ /$1? [R=301,L] 
1

问题已回答,我只想提到你的规则不起作用,因为你没有在重写规则

中追加 ?到新的url