在网址中使用'/'的Apache mod_rewrite

时间:2012-07-18 10:35:36

标签: apache mod-rewrite

我们在配置中有这个规则:

RewriteRule (\w+)\/place_info\/(\d+)(\/.+|\/?)$ $1/place_info.php?id=$2 [QSA]

用于获取表格的网址

http://www.ourdomain.com/section/place_info/12345/place-name-whatever

并在内部传递

http://www.ourdomain.com/section/place_info.php?id=12345

除非place-name-whatever中包含URL编码的/字符,否则在所有情况下都可以正常使用。例如,这有效:

http://www.ourdomain.com/section/place_info/12345/place-name-whatever

这有效:

http://www.ourdomain.com/section/place_info/12345/place-name-whatever/with-slash

然而,这不是:

http://www.ourdomain.com/section/place_info/12345/place-name-whatever%2Fwith-slash

对于我的地狱,我无法弄清楚这里发生了什么,更重要的是,如何解决它。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

似乎与mod_rewrite bug有关,但很长一段时间仍未解决。

如果您甚至丢弃剩余的行,它会影响您。