我试图在有' page = 1'的网页上设置301重定向。在URL中停止重复的内容问题。
e.g。
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网址重定向到相关部分的整体解决方案最好。
答案 0 :(得分:2)
使用此代码将?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]
答案 1 :(得分:1)
这个问题已经回答了,我只想提一下你的规则是行不通的,因为你没有在重写规则的新网址中附加一个尾随的?