开发者社区> 问答> 正文

apache代理之后url变成%27xxx%E4的问题 400 请求报错 

apache代理之后url变成%27xxx%E4的问题,纠结求解中。。。 Apache中 RewriteRule 规则参数介绍 Apache中 RewriteRule 规则参数介绍 Apache中 RewriteRule 规则参数介绍

我有个应用,url中带有中文,

通过apache代理之后,这些url访问就不正常了,因为本来应该请求:

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

变成了类似:

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

之类的请求。

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

展开
收起
kun坤 2020-05-29 21:00:03 692 0
1 条回答
写回答
取消 提交回答
  • 哈哈,其实问题不是出在代理。而是你写的RewriteRule上。

    Apache中 RewriteRule 规则参数介绍

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

    引用来自“SupNatural”的答案

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

    Apache中 RewriteRule 规则参数介绍

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

    引用来自“renwofei423”的答案

    引用来自“SupNatural”的答案

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

    Apache中 RewriteRule 规则参数介绍

    'noescape|NE'(在输出中不对URI进行转义) 此标记阻止mod_rewrite对重写结 果应用常规的URI转义规则。 一般情况下,特殊字符('%', '$', ';'等)会被转义为等值的十六进制编码('%25', '%24', '%3B'等)。此标记可以阻止这样的转义,以允许百分号等符号出现在输出中。
    那你改写试试?
    我已经把52的配置改了。 ######Very Good!
    2020-05-29 21:00:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Flink技术进阶 立即下载
Apache Spark: Cloud and On-Prem 立即下载
Hybrid Cloud and Apache Spark 立即下载

相关镜像