2012-07-31 180 views
0

我想重新直接301重定向查詢字符串

http://www.mydomain.com/ladies-boots/?shoesize=43&calfwidth=K 

http://www.mydomain.com/ladies-boots/#nogo&landing_sef_url=&producttype= 
ladies-boots&shoesize=43&calfwidth=K 

我目前使用下面的代碼,但它不工作。

RewriteCond %{QUERY_STRING} ^ladies-boots/?shoesize=([0-9]+)\&calfwidth=([A-Z])$ 
RewriteRule ^.*$ http://www.mydomain.com/ladies-boots/#nogo&landing_sef_url=&producttype=ladies-boots&%1 [R=301,L] 

請幫我解決這個問題。

這是我更新最新的代碼,

RewriteCond %{QUERY_STRING} ^shoesize=([0-9]+)\&calfwidth=([A-Z])$ 
RewriteRule ^ladies-boots/$ http://www.mydomain.com/ladies-boots/#nogo&landing_sef_url=&producttype=ladies-boots&shoesize=%1&calfwidth=%2? [R=301,L] 

回答

1

的QUERY_STRING參數就是這樣;它不包含URI路徑信息。

RewriteCond %{QUERY_STRING} ^shoesize=([0-9]+)\&calfwidth=([A-Z])$ 
RewriteRule ^ladies-boots/$ $0#nogo&landing_sef_url=&producttype=ladies-boots&%1 [R=301,NE,L] 

記住打開(RewriteEngine On)發動機,並設置一個基座(RewriteBase /)在前。 $ 0接收整個匹配字符串,並且服務器和協議默認爲相同,因此不需要指定。

+0

非常感謝,這工作正常。 還有另外一個問題,「#」標記沒有正確重定向。它正在像這樣重定向, http://www.mydomain.com/ladies-boots/%23nogo&landing_sef_url=&producttype=ladies-boots&shoesize=43&calfwidth=K – Miuranga 2012-07-31 10:18:06

+0

請參閱更新的代碼並幫助我解決這個#tag問題,謝謝。 – Miuranga 2012-07-31 10:22:12

+0

是的,你需要添加NE標誌。對於那個很抱歉。 – TerryE 2012-07-31 21:43:29

相關問題