0

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

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

用于获取表单的 URL

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

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

4

1 回答 1

0

似乎与很长一段时间仍未解决的mod_rewrite 错误有关。

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

于 2012-07-18T11:55:29.210 回答