我的.htaccess中有以下重写规则:
RewriteRule ^([A-Za-z0-9-]+)/?$ product.php?var1=$1
RewriteRule ^([A-Za-z0-9-]+)/?([A-Za-z0-9-_]+)?/?$ product.php?var1=$1&var2=$2
RewriteRule ^([A-Za-z0-9-]+)/?([A-Za-z0-9-_]+)?/?([A-Za-z0-9-_]+)?/?$ product?var1=$1&var2=$2&var3=$3
这是我网站上使用的网址示例::
/electronics/
/electronics/laptops/
/electronics/laptops/hp/
为避免重复内容,我试图消除使用这些网址的任何人:
/electronics/?
/electronics/?qweqwe=fff
/electronics/laptops/?
/electronics/laptops/?q34t5gt=12
/electronics/laptops/hp/?
/electronics/laptops/hp/?id=12&hdhdhdhhd=3333
如何制作301重定向(假设这是避免重复内容的最佳方法),删除任何以“?”开头的内容在尾随斜线之后?
答案 0 :(得分:0)
我做了很多搜索和测试。我提出了这个解决方案:
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^?#\ ]*)\?[^\ ]*\ HTTP/
RewriteRule ^(.*)$ %{REQUEST_URI}? [R=301]