|
|
1
7
这里的一些帖子表明OP的用法是错误的,这是错误的。 扩展Sam152的注释,查询字符串是否允许同时包含这两个?和/字符,见第3.4节 http://www.ietf.org/rfc/rfc3986.txt ,这基本上是蒂姆·伯纳斯-李和朋友们编写的规范,指导网络应该如何运作。 问题在于,编写不佳(或配置不当,或误用)的解析器将查询字符串斜线解释为分隔路径组件。 我见过PHP的pathinfo函数用于解析URL的示例。pathinfo不是用来解析URL的。但是,您可以使用parse_URL提取路径,然后使用fileinfo从路径中检索详细信息。您将看到parse_url处理/和?在查询字符串中很好。 无论如何,总体问题是,即使在经验丰富的开发人员中,对这一领域的全面理解也很差,大多数人(包括我自己,直到最近)只是假设文件名之后的任何内容都必须进行url编码,如果考虑到标准,这显然是错误的。 太长了,读不下去了阅读规范:) |
|
2
0
或者也许是 AllowEncodedSlashes 设置? |
|
|
3
0
你有
403 Forbidden on PHP page called with url encoded in a $_GET parameter |
|
|
4
0
在Apache配置中:
有关更多信息,请参阅文档:
编辑:嗯,这可能是你已经在做的。..我也有同样的问题,最终为我解决的是使用
|
|
|
5
-1
您无需指定PHP如何处理此url。它会重定向到此页面还是尝试阅读它? 可能有一些mod_rewrite规则可以删除双斜杠,或者出于其他目的,它试图将此重定向到不应该的地方。 可能是http前没有^的正则表达式:// |
|
|
6
-1
因此,当查询字符串格式正确时,它可以工作,而当格式不正确时,则不起作用。有什么问题吗? |
|
|
7
-1
这听起来像是默认magic_quotes_gpc的另一个例子。在导致问题的服务器上检查php.ini,并确保
|