【发布时间】:2017-05-04 02:24:40
【问题描述】:
也许有人可以告诉我为什么我的 .htaccess 文件中的以下内容行为异常:
RewriteRule ^brand/b([0-9]+)/?$ articles.php?id=b$1 [NC,L]
RewriteRule ^brand/h([0-9]+)/?$ categories.php?id=h$2 [NC,L]
有了这些规则,这
example.com/brand/b1234
重定向到
example.com/articles.php?id=b1234
但是这个
example.com/brand/h1234
不重定向到
example.com/categories.php?id=h1234
应该如此。
我是否从 .htacess 中的代码中遗漏了任何会导致一个工作但另一个不能工作的内容?
谢谢!
【问题讨论】:
-
我怀疑在您的第二个目的地使用
$1而不是$2,因为该数字指的是正则表达式中您只有1 个的捕获组。 -
这是我的第一个想法,因为我不确定它应该是哪个,但无论是 1 美元还是 2 美元都行不通。
-
“重定向到” - 你真的是指“重定向”吗?还是“重写”?如果您看到 redirect 那么这可能是一个较早的(错误的)cached 重定向并且这些规则都没有实际工作?!