2012-08-13 50 views
2

我已經意識到,雅虎搜索沒有正確處理URL中的空格。404與網址中的空格

當用戶點擊轉到包含空格的我的網站頁面時,yahoo會用'+'符號替換它們。

我的服務器不能正確處理'+'而不是'',並生成404錯誤。

那麼如何用''替換'+',使用.htaccess?

+1

爲什麼網頁有空格?我的印象是,這是不好的形式,原因很多,包括你提到的那個...... – Matt 2012-08-13 14:09:12

+0

當然,這很糟糕。但我無法改變它們。有什麼建議麼? – 2012-08-13 14:12:53

+0

*你的服務器如何編碼空格?通常我認爲他們被編碼爲'%20',但是如果你的服務器以不同的方式進行編碼,這可能就是雅虎替換空間的原因(它不能識別它們)。 – Matt 2012-08-13 14:15:38

回答

1

+符號可用於URL空間編碼。這已成爲標準的一部分,Apache 2絕對知道如何將+解碼爲空間。什麼可能發生的事情是+是越來越編碼本身%2B,你可以使用這個改變他們的空間:在URL

RewriteEngine On 
RewriteRule ^(.*)\+(.*)$ /$1\ $2 [L] 
+0

你能舉一個例子說明你會如何適應這樣的事情: RewriteRule^client /([a-z0-9] +)$ index.php?client = $ 1 [L] – alanj 2015-09-17 16:19:37