除了早先的问题,我还需要重写网址,例如
http://example.com/index.php?cPath=371_1659_1660&main_page=products_categories
到
http://example.com/index.php?cPath=371_1659_1660
我用它来修复它
RewriteCond %{QUERY_STRING} ^(.)(^|&)main_page=products_categories(.)$
RewriteRule ^(.*)$ /$1?%1%3 [R=301,L]
我还发现我也有与https相同的网址
https://example.com/index.php?cPath=371_1659_1660&main_page=products_categories
和
http://example.com/index.php?cPath=371_1659_1660&main_page=products_categories
正在给我重复的页面处罚
是否可以修改我的重写规则,以便在删除
的同时重定向到http页面&main_page=products_categories
后缀以便
https://example.com/index.php?cPath=371_1659_1660&main_page=products_categories
会变成
http://example.com/index.php?cPath=371_1659_1660
答案 0 :(得分:1)
不确定为什么这个问题不公平地被投票。
您可以使用此单一规则将这两个网址重定向到http://...
:
RewriteEngine On
RewriteCond %{QUERY_STRING} (?:^|&)main_page=products_categories(?:&|$) [NC]
RewriteCond %{QUERY_STRING} (?:^|&)(cPath=[^&]+) [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI}?%1 [R=301,L,NE]