2011-02-03 89 views

回答

1

這將是正確的規則:

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^?#\ ]*)\?[^\ ]*\ HTTP/ [NC] 
RewriteCond !{QUERY_STRING} id 
RewriteRule .*$ %{REQUEST_URI}? [R=301,L] 

更新

# Query rewrite exceptions 
RewriteCond %{QUERY_STRING} !callback=.* 
0

這是行得通嗎?

RewriteCond %{QUERY_STRING} ^.+$ 
RewriteCond %{QUERY_STRING} !^id= 
RewriteRule ^(.*)$ $1?%1 [R=301,L] 

提示:在測試期間,使用302重定向而不是301,因爲301重定向是由瀏覽器存儲的。完成測試後,您終於可以切換到經典301。

0

如果您需要http://site.com/page/?YOURSTRING=blabla

重定向到http://site.com/page/

然後看看這個鏈接 - https://stackoverflow.com/a/15680832/2215124

+0

您的共享URL有重寫(刪除)定義的查詢字符串以及除去定義的查詢字符串以外的所有查詢的示例。 – Binyamin 2013-03-28 15:05:30