用于特殊字符的Apache 2.4.6 RewriteRule编码

时间:2017-01-24 13:51:37

标签: apache mod-rewrite url-rewriting redhat

我在RHEL 7.3中的Apache 2.4.6中有一些特殊的重写规则存在问题。我需要执行的重写如下。 “RewriteRule ^ / es / 47006 + P°+ Zorrilla + 14 http://example.com” 浏览器响应:

未找到

在此服务器上找不到请求的网址/ es / 47006 +PÃ,°+ Zorrilla + 14。

任何人的想法。

谢谢你

JVG

1 个答案:

答案 0 :(得分:0)

取决于:

  1. 客户端如何真正编码路径
  2. 您的规则所在的位置:如果它位于.htaccess(或<Directory>块)中,您的模式不能以^/en开头,而是^en
  3. 您可以尝试:RewriteRule ^/?es/47006+P\xC3\x83\xE2\x80\x9A\xC3\x82\xC2\xB0+Zorrilla+14 http://example.com [R](UTF-8)和/或RewriteRule ^/?es/47006+P\xC3\x82\xC2\xB0+Zorrilla+14 http://example.com [R](CP1252)吗?

    +实际上是+,而不是实际请求中的空格?