我遇到了有关 URL 重写的问题。我正在使用 Apache 的 mod rewrite 来重写 URL。例如,我重写 URL
www.website.com/some/path/
到request.php?string=some/path/
.
然后我显示此 URL 的特定响应。现在我的重写规则如下所示:
RewriteRule ^([a-z_/\?]+)$ request.php?string=$1
但是如果我有 URLwww.website.com/some/data/?id=12&name=John
并重写它,问题就开始了,我得到这样的东西:request.php?string=some/data/?id=12&name=John
. 似乎在这个例子中另一个问号混淆了 PHP。如果我尝试$_GET['string']
在 request.php 中检索,我得到的只是:some/data/
。
为了进一步参考,Gmail 对其 URL 做了类似的事情:
https://mail.google.com/mail/?ui=1&shva=1