【发布时间】:2013-05-27 08:39:49
【问题描述】:
我正在努力让我的 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,它似乎工作正常。
我做错了什么?
【问题讨论】:
-
你还有其他重写规则吗?如果您在列出的第一个规则之上还有另一个规则,它将匹配该规则,并且永远不会到达您想要的规则。
-
不。即使删除所有其他规则,我也会得到相同的结果
-
@andlin 可以被浏览器缓存。您是否尝试过清除缓存,或尝试其他方式?
-
其实,在测试这样的东西时,我可以推荐在chrome中使用隐身模式。如果要清除缓存,只需关闭选项卡并打开一个新选项卡即可。
标签: regex apache .htaccess url-rewriting