这个RewriteRule
RewriteRule ^ test /(.*)$test.PHP?url = $1
在此URL上
mysite.com/test//one///two////three///
给我这个结果
$1 = URL = ‘一/二/ /’
我正在使用easyPHP,如果它很重要,我想知道为什么Apache在内部删除多个斜杠而不重定向到更正的URL?以及如何禁用或添加重定向到此行为?
预先感谢
似乎有多个斜线违反标准.正如
this post所指出的那样,RFC 1630说:
PATH
The rest of the URI follows the colon in a format depending on the
scheme. The path is interpreted in a manner dependent on the
protocol being used. However,when it contains slashes,these
ust imply a hierarchical structure.
///并不意味着层次结构 – 你有空的文件夹名称.从那以后我猜想Apache的行为是设计的. (使用多个斜杠也不是一个好主意,因为结果将是无效的URL).
我会改用不同的角色.