AllowEncodedSlashes问题

时间:2010-12-10 10:59:19

标签: apache apache2 apache-config apache2.2

我目前在Apache服务器上遇到编码斜杠问题。网址结构如下:

www.site.com/url/http%3A%2F%2Fwww.anotherurl.com/format/xml

然后我从Apache收到404错误(我的应用程序应该处理所有错误。)

显然AllowEncodedSlashes On指令应该在这个位置帮助我,但它似乎没有任何影响。我把它放在httpd.conf中就像这样:

<VirtualHost *:80>
DocumentRoot /var/www/vhosts/site.com/httpdocs
ServerName site.com

AllowEncodedSlashes On
</VirtualHost>

然后使用/etc/init.d/httpd restart命令重新启动Apache。

我一直试图解决这个问题好几天了。我有些人说AllowEncodedSlashes指令有效,有些人说它有问题,应该折旧。我想知道AllowEncodedSlashes是否存在问题并且清理URL是否一起工作?

无论如何,所有的帮助表示赞赏。提前谢谢。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您可以使用编码和解码URL来解决这种类型的问题。

  var uri = "https://w3schools.com/http%3A%2F%2Fwww.anotherurl.com/format/xml";
  var uri_enc = encodeURIComponent(uri);
  var uri_dec = decodeURIComponent(uri_enc);


After encode-
Encoded URI: https%3A%2F%2Fw3schools.com%2Fhttp%253A%252F%252Fwww.anotherurl.com%2Fformat%2Fxml

After Decode-
Decoded URI: https://w3schools.com/http%3A%2F%2Fwww.anotherurl.com/format/xml