2
由於不值得進入此處的原因,Google一直使用URL中的一個不必要的查詢字符串爲我的一個網站建立索引。我想將我的htaccess文件修改爲301將所有這些請求重定向到URL,而不需要查詢字符串的不必要部分,但保留查詢字符串中可能(或不可以)成爲地址的一部分的任何其他部分確保保留其他功能。使用htaccess刪除單個查詢參數
例如,以下網址
http://example.com/product.php?query=12345
http://example.com/index.php?section=ABC123&query=56789
http://example.com/search.php?query=987654&term=keyword
將成爲
http://example.com/product.php
http://example.com/index.php?section=ABC123
http://example.com/search.php?term=keyword
有效剝離 '查詢= XXXXX' 加?或&,但要確保其他查詢在刪除後保留並且語法正確(即,從第三個示例中刪除?query = 98765將不起作用,因爲它會將鏈接保留爲search.php & term = keyword,而不是比search.php?term = keyword)。
一直在尋找通過一些其他的協議棧的答案,發現這個:
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} (.*)?&?query=[^&]+&?(.*)? [NC]
RewriteCond %{REQUEST_URI} /(.*)
RewriteRule .* %3?%1%2? [R=301,L]
但是,這似乎並沒有工作,我的htaccess &正則表達式的知識是不夠好,找出原因。
預先感謝任何指針。