%URL中的2F中断,并且未引用所需的.php文件

%URL中的2F中断,并且未引用所需的.php文件,php,apache,url,Php,Apache,Url,我需要将/作为URL的一部分作为变量传递 我的结构如下所示: www.domain.com/listings/page-1/city Burnaby+South/type Townhome/卧房-2/浴室-2 在本例中,它最终归结为listings.php,除此之外的所有内容都成为参数,我的php脚本通过使用$_SERVER['REQUEST_URI']var解析 但是,当其中一个变量变为“公寓/公寓”并且在生成URL时,/通过PHP中的urlencode()变为%2F时,整个过程就会阻塞,我会

我需要将/作为URL的一部分作为变量传递

我的结构如下所示: www.domain.com/listings/page-1/city Burnaby+South/type Townhome/卧房-2/浴室-2

在本例中,它最终归结为listings.php,除此之外的所有内容都成为参数,我的php脚本通过使用$_SERVER['REQUEST_URI']var解析

但是,当其中一个变量变为“公寓/公寓”并且在生成URL时,/通过PHP中的urlencode()变为%2F时,整个过程就会阻塞,我会得到一个“未找到”错误

如何传递/而不破坏URL?我错过了什么?我认为这些urlencode()字符(%2F、%20等)的全部意义在于逃避这些问题

出于安全目的,您同样可以使用%2f
/
或%5c
\
Apache
返回404

您可以修改Apache配置以在或节点代码上启用
allowencodedslash。请记住,这可能会带来意外的安全问题,而此“功能”旨在缓解这些问题

Apache文档:

已解决:


这一个也让我明白了——谢谢你的问题

URL是使用urldecode()传递和解码的。我的问题是,它甚至没有呈现到PHP页面-只要请求中包含%2F,它就会返回404。请求无法调用PHP,因此这不是一个解释问题的解决方案。非常感谢。