我已经阅读了所有相关文章,但它们似乎并不能解决我的问题。我正在运行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>
答案 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);
}