我有一些網頁被谷歌索引,例如:重寫規則忽視變量的URL
/product.html?affiliateid=142
我想重寫規則301重定向到同一頁面上,如果有一個affiliateid=xxx
到目前爲止,我有這個:
RewriteCond %{QUERY_STRING} ^affiliateid=[0-9]+$
RewriteRule ^$ /test.html$ [L,R=301]
但它不工作,我需要擺脫變量,並獲取頁面名稱莫名其妙。
我有一些網頁被谷歌索引,例如:重寫規則忽視變量的URL
/product.html?affiliateid=142
我想重寫規則301重定向到同一頁面上,如果有一個affiliateid=xxx
到目前爲止,我有這個:
RewriteCond %{QUERY_STRING} ^affiliateid=[0-9]+$
RewriteRule ^$ /test.html$ [L,R=301]
但它不工作,我需要擺脫變量,並獲取頁面名稱莫名其妙。
您需要指定您的替代網址空查詢有原請求的查詢不附加到新的URL:
RewriteCond %{QUERY_STRING} ^affiliateid=[0-9]+$
RewriteRule^%{REQUEST_URI}? [L,R=301]
如果你想保留任何其他查詢參數,試試這個:
RewriteCond %{QUERY_STRING} ^(([^&]*&)*)affiliateid=[0-9]+(&+(.*))?$
RewriteRule^%{REQUEST_URI}?%1%4 [L,R=301]
發現:
的RewriteCond%{QUERY_STRING}^AFFILIATEID =([0-9] +)$
RewriteRule ^(。*)$/$ 1? [L,NC,R = 301]
這是這個問號/ $ 1?它告訴規則在查詢字符串處結束重寫