apache代理之后url变成%27xxx%E4的问题,纠结求解中。。。

renwofei423 发布于 2012/09/10 14:58
阅读 581
收藏 0
我有个应用,url中带有中文,
通过apache代理之后,这些url访问就不正常了,因为本来应该请求:

http://www.oneele.com/blog/中文测试页面

变成了类似:

http://www.oneele.com/blog/%27%E4%BB

之类的请求。

而必须用代理,中文url也无法避免。不知道有没有什么方式让apache代理的时候不进行处理?
加载中
0
SupNatural
SupNatural

哈哈,其实问题不是出在代理。而是你写的RewriteRule上。

Apache中 RewriteRule 规则参数介绍

'noescape|NE'(在输出中不对URI进行转义)
此标记阻止mod_rewrite对重写结 果应用常规的URI转义规则。 一般情况下,特殊字符('%', '$', ';'等)会被转义为等值的十六进制编码('%25', '%24', '%3B'等)。此标记可以阻止这样的转义,以允许百分号等符号出现在输出中。

0
tix
tix
http://www.e553.com/yunying/seo/1253.html
0
renwofei423
renwofei423

引用来自“SupNatural”的答案

哈哈,其实问题不是出在代理。而是你写的RewriteRule上。

Apache中 RewriteRule 规则参数介绍

'noescape|NE'(在输出中不对URI进行转义)
此标记阻止mod_rewrite对重写结 果应用常规的URI转义规则。 一般情况下,特殊字符('%', '$', ';'等)会被转义为等值的十六进制编码('%25', '%24', '%3B'等)。此标记可以阻止这样的转义,以允许百分号等符号出现在输出中。

那你改写试试?
0
SupNatural
SupNatural

引用来自“renwofei423”的答案

引用来自“SupNatural”的答案

哈哈,其实问题不是出在代理。而是你写的RewriteRule上。

Apache中 RewriteRule 规则参数介绍

'noescape|NE'(在输出中不对URI进行转义)
此标记阻止mod_rewrite对重写结 果应用常规的URI转义规则。 一般情况下,特殊字符('%', '$', ';'等)会被转义为等值的十六进制编码('%25', '%24', '%3B'等)。此标记可以阻止这样的转义,以允许百分号等符号出现在输出中。

那你改写试试?
我已经把52的配置改了。
0
返回顶部
顶部