0

我正在努力让我的 htaccess 文件中的简单 URL 重写工作。它看起来像这样:

RewriteRule    ^getbars/([A-Za-z\d,]+)?$    getbars.php?guid=$1    [NC,L]

这个想法是将诸如 /getbars/519f1dec603f9 之类的 URL 重定向到 /getbars.php?guid=519f1dec603f9

但是,由于某种原因,当我尝试在 getbars.php 中获取 guid 参数时,它是空的

但是,如果我将其更改为

RewriteRule    ^bars/([A-Za-z\d,]+)?$    getbars.php?guid=$1    [NC,L]

并在我的浏览器中加载 /bars/519f1dec603f9 ,它似乎工作正常。

我究竟做错了什么?

4

1 回答 1

1

因为在您的服务器上启用了内容协商(在此处结合 PATH_INFO 功能)?如果是这种情况,内容协商会在读取重写规则之前自动“重写”getbars/* 到 getbars.php。

=> 你可以尝试添加Options -MultiViews你的 .htaccess 吗?

于 2013-05-27T09:47:12.073 回答