3

我正在尝试在 URL 中包含“page=1”的页面上设置 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

将所有 ?page=1 URL 重定向到其相关部分的整体解决方案是最好的。

4

2 回答 2

2

使用此代码将每个 URI 重定向?page=1到不带查询参数的一个:

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

否则,如果您只想重定向/reviewsURI,那么

RewriteCond %{QUERY_STRING} ^page=1(&|$) [NC]
RewriteRule ^(reviews)/?$ /$1? [R=301,L]
于 2013-04-16T14:29:17.777 回答
1

the question is already answered, i just would like to mention that your rules are not working because you didn't append a trailing ? to the new url in the rewrite rule

于 2013-04-16T14:36:20.397 回答