我正在尝试在 URL 中包含“page=1”的页面上设置 301 重定向以阻止重复内容问题。
例如
http://www.domain.com/reviews/?page=1 到 http://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 重定向到其相关部分的整体解决方案是最好的。
最佳答案
使用此代码将每个带有 ?page=1
的 URI 重定向到没有查询参数的 URI:
RewriteCond %{QUERY_STRING} ^page=1(&|$) [NC]
RewriteRule ^ %{REQUEST_URI}? [R=301,L]
否则,如果您只想重定向 /reviews
URI,则
RewriteCond %{QUERY_STRING} ^page=1(&|$) [NC]
RewriteRule ^(reviews)/?$ /$1? [R=301,L]
关于.htaccess - 301 使用 get 变量重定向分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16039486/