2012-11-26 111 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]

感谢所有您的帮助。 杰克