當我在Google中點擊我的索引的頁面時,我的查詢字符串中的加號正被替換(編碼?)爲%252520。加號被替換爲%252520
任何人都知道爲什麼?
例子:
lovelakedistrict.com/result/?q=Private%252520car%252520park&page=2
應該
lovelakedistrict.com/result/?q=Private+car+park&page=2
我聽說這是htaccess的重定向我的網址的結果?
當我在Google中點擊我的索引的頁面時,我的查詢字符串中的加號正被替換(編碼?)爲%252520。加號被替換爲%252520
任何人都知道爲什麼?
例子:
lovelakedistrict.com/result/?q=Private%252520car%252520park&page=2
應該
lovelakedistrict.com/result/?q=Private+car+park&page=2
我聽說這是htaccess的重定向我的網址的結果?
如果一個空間在URI查詢使用,它必須被由%20
(percent encoding)或通過+
(application/x-www-form-urlencoded content type爲形式)代替。在你的情況下,數據似乎被編碼了三次(%
編碼爲%25
)。
嘗試這些規則與+
替換該序列是:
RewriteCond %{QUERY_STRING} (.*?)%(25)+20(.*?%(25)+20.*)
RewriteRule^%{REQUEST_URI}?%1+%3 [N]
RewriteCond %{QUERY_STRING} (.*?)%(25)+20(.*)
RewriteRule^%{REQUEST_URI}?%1+%3 [L,R=301]
其實%25
是%
焦炭,%20
是空間。如此看來你的URI進行編碼三次
http://www.lovelakedistrict.com/result/?q=Private car park&page=2 =>
http://www.lovelakedistrict.com/result/?q=Private%20car%20park&page=2 =>
http://www.lovelakedistrict.com/result/?q=Private%2520car%2520park&page=2 =>
http://www.lovelakedistrict.com/result/?q=Private%252520car%252520park&page=2
正如你所看到的,%
被編碼爲%25
。
所以第一次,你得到%20
的空間,那麼你得到%25
的%
的%20
後跟20
,然後,再次,相同的編碼。
在向Google提供鏈接之前,此過程中可能有問題。
謝謝你的回答。現在它更有意義 – AJFMEDIA 2010-09-01 16:27:01
再一次完美的感謝。現貨:) – AJFMEDIA 2010-09-01 16:25:35