所以我一直在努力寻找与此重写相匹配的规则。我正在一个客户端网站上工作,这是一个重复标题标签数量的噩梦。我通过强制执行正斜杠,重定向非www来设法解决了大部分问题。到www。版本并禁止抓取网站的https版本。
我目前遇到的问题。我有超过1000个重复内容的网址,每个产品都有两个不同的网址,内容完全相同。一个例子是:
http://www.example.co.uk/product/widget1/
http://www.example.co.uk/widget1/
http://www.example.co.uk/product/widget2/
http://www.example.co.uk/widget2/
现在,以下网址具有相同的内容:
http://www.example.co.uk/product/widget1/
http://www.example.co.uk/widget1/
如果有意义,我想将包含“/ product /”的任何网址重定向到网址中没有“/ product /”的网址版本。老实说,我不知道从哪里开始,非常感谢你的帮助。
提前致谢
编辑:推荐规则:
RewriteEngine On RewriteRule ^ / product /(.*)$/ $ 1 [R = 301]
不起作用。这可能是矛盾的。这些是其他规则:
RewriteEngine On
RewriteCond %{QUERY_STRING} .+
RewriteRule ^(.*)$ /$1? [R=301,L]
RewriteRule ^/product/(.*)$ /$1 [R=301]
RewriteCond %{HTTP_HOST} ^example\.co [NC]
RewriteRule (.*) http://www.example.co.uk/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)([^/])$ /$1$2/ [L,R=301]
我不知道这里是否有任何冲突。请帮忙
答案 0 :(得分:1)
假设网址始终以产品开始,这应该有效:
RewriteEngine On
RewriteRule ^/product/(.*)$ /$1 [R=301]
它需要进入你的主站点conf或.htaccess
答案 1 :(得分:1)
像这样拥有完整的.htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.co [NC]
RewriteRule (.*) http://www.example.co.uk/$1? [L,R=301]
RewriteCond %{QUERY_STRING} .+
RewriteRule ^(.*)$ /$1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+?[^/])$ /$1/ [L,R=301]
RewriteRule ^product/([^/]+)/?$ /$1/ [R=301,L]