2010-09-01 63 views
0

當我在Google中點擊我的索引的頁面時,我的查詢字符串中的加號正被替換(編碼?)爲%252520。加號被替換爲%252520

任何人都知道爲什麼?

例子:

lovelakedistrict.com/result/?q=Private%252520car%252520park&page=2 

應該

lovelakedistrict.com/result/?q=Private+car+park&page=2 

我聽說這是htaccess的重定向我的網址的結果?

回答

2

如果一個空間在URI查詢使用,它必須被由%20percent 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] 
+0

再一次完美的感謝。現貨:) – AJFMEDIA 2010-09-01 16:25:35

2

其實%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提供鏈接之前,此過程中可能有問題。

+0

謝謝你的回答。現在它更有意義 – AJFMEDIA 2010-09-01 16:27:01