我需要替換我網址中的&符號的編碼值,以便搜索查詢成功。我正在努力從這個post的解決方案中複製類似的方法,查詢字符串如下所示。&符號在url中編碼爲%2526
lovelakedistrict.com/result/?q=Brookfield+Bed+%2526+Breakfast
我希望它是像這樣
lovelakedistrict.com/result/?q=Brookfield+Bed+ & +早餐
原因是與%2526的網址在谷歌索引,顯然是破碎的。
我需要替換我網址中的&符號的編碼值,以便搜索查詢成功。我正在努力從這個post的解決方案中複製類似的方法,查詢字符串如下所示。&符號在url中編碼爲%2526
lovelakedistrict.com/result/?q=Brookfield+Bed+%2526+Breakfast
我希望它是像這樣
lovelakedistrict.com/result/?q=Brookfield+Bed+ & +早餐
原因是與%2526的網址在谷歌索引,顯然是破碎的。
RewriteCond %{QUERY_STRING} (.*?)%(25)+26(.*?%(25)+26.*)
RewriteRule^%{REQUEST_URI}?%1+%3 [N]
RewriteCond %{QUERY_STRING} (.*?)%(25)+26(.*)
RewriteRule^%{REQUEST_URI}?%1+%3 [L,R=301]
(從您發佈更改20
S中的鏈接複製到26
S)
我試過這個,但它連續造成3個加號,但我認爲將所有的&更改爲「and」更爲常規。所以現在鏈接指向lovelakedistrict.com/result/?q=Brookfield+Bed+and+Breakfast。謝謝你的幫助 – AJFMEDIA 2010-09-06 07:23:37
正如aularon說,它應該是Bed+%26+Breakfast
,爲&
是一個查詢字符串參數分隔符。 (你會發現,如果你進入第二個鏈接你實際上搜索「布魯克菲爾德牀」。)
<form id="form" action="/result" method="get">
結果就像一個正確的查詢:
http://www.lovelakedistrict.com/result?q=Brookfield+Bed+%26+Breakfast
然而,由於/result
是Web服務器將該查詢重定向到/result/
,並由於某種原因同時更改查詢字符串,將其雙重編碼爲%2526
。
我不知道爲什麼這樣做,這是不正常的Apache行爲,有你有一些狡猾的重寫規則,也許你應該能夠指向正確的URL的形式,以避免它 - 但是:
<form id="form" action="/result/" method="get">
它實際上應該是http://www.lovelakedistrict.com/result/?q=Brookfield+Bed+%26+Breakfast所以q'的'值爲'布魯克菲爾德牀和Breakfast',喜歡這裏:HTTP:/ /www.google.com/search?q=Brookfield+Bed+%26+Breakfast – aularon 2010-09-03 21:42:31