2012-11-26 110 views
1

我有一個需要重寫的URL。阿帕奇重寫規則%字符

http://aplus-carpetcleaning.com/home.php%3Fcity%3DGainesville%2520VA

我已經試過這樣:

^home\.php%3Fcity%3DGainesville%2520VA$ "http://aplus-carpetcleaning.com/home.php?city=Gainevilles%20VA" 

這是不被認可。嘗試了各種替代品,但沒有骰子。

注:

  • %3F是 '?'
  • %3D是'=',
  • %2520是誰知道的?
+0

'%2520'是已被編碼兩次空間:一。 ''字符到'%20' url編碼的字符串,b。 '%'字符轉換爲'%25'url編碼的字符串給出了'%2520'整體。 –

+0

'%25'是轉義百分號(''%)。所以'%2520'是一個雙重逃脫的空間(逃脫的「%20」)。只需諮詢一個ASCII碼圖。 –

回答

0

重寫模塊將您的正則表達式模式應用於解碼的url,而不是您在瀏覽器url字段中看到的urlencoded字符串。

因此,創建使用轉義字符,而不是你的正則表達式。喜歡的東西:

^home.php \城市=蓋恩斯維爾& 20VA $

+0

謝謝。什麼工作是這到底: – user1852010

+0

咳咳,究竟怎麼了?我們想知道! – arkascha

0

與固定它:()

重寫規則^ home.php()城市蓋恩斯維爾(*)。 VA $ 「http://aplus-carpetcleaning.com/home.php?city=Gainesville VA」[R = 301,L]

感謝所有您的幫助。 傑克