一尘不染

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

php

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

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

在这种情况下,它最终可以归结为listings.php,除此以外的所有内容都成为我的PHP脚本通过使用$ _SERVER
[‘REQUEST_URI’]变量解析的参数。

但是,当生成URL时,当hte变量之一变为“ Apartment /
Condo”并且/通过PHP中的urlencode()通过/变为%2F时,整个事情都窒息了,并且出现了“未找到”错误。

如何通过/而不破坏URL?我想念什么?我认为这些urlencode()字符(%2F,%20等)的全部含义都可以避免这些问题。


阅读 368

收藏
2020-05-29

共1个答案

一尘不染

对URL %2F /%5C \返回 404Apache出于安全目的。

您可以修改Apache配置以启用AllowEncodedSlashes OnNoDecode。请记住,这可能会引入意外的安全问题,此“功能”旨在缓解这些问题。

Apache文档:http
:
//httpd.apache.org/docs/current/mod/core.html#allowencodedslashes

这个也给我-谢谢你的提问

2020-05-29