Apache 2.4.37:即使添加到VirtualHost之后,AllowEncodedSlashes On也不起作用

时间:2019-02-07 21:16:53

标签: apache

我已经阅读了所有相关文章,但它们似乎并不能解决我的问题。我正在运行Windows的XAMPP。我正在编写一个rest api,该api需要接受可能带有嵌入式斜杠的参数。我已经在httpd.conf和http-vhosts.conf中都设置了AllowEncodedSlashes On,但是它仍然不起作用(顺便说一句-是的-已停止并重新启动了appache!)。任何帮助,将不胜感激。 -谢谢。

在httpd.conf中:

...

ServerRoot "C:/xampp/apache"
AllowEncodedSlashes On

在http-vhosts.conf中: ...

<VirtualHost *:80>
    DocumentRoot "c:/xampp/htdocs/odie/public"  
    ServerName odie
    AllowEncodedSlashes On
</VirtualHost>

1 个答案:

答案 0 :(得分:0)

我无法解决此特定问题-但我意识到我可能错误地解决了这一问题。我没有尝试更改服务器设置,而是在base-64上进行编码/解码。这使我可以传递任何角色,而不会再产生任何悲伤。

在我的情况下,我在前端使用Angular,在后端使用PHP。

角度代码为:

 private encodeParameter(parm: string) {
        if (!parm) {
            return null;
        }
        return btoa(parm);
    }

PHP代码为:

  public static function decode_parameter($parameter){
            return base64_decode($parameter); 
        }