0

我使用 rubular.com 测试了以下重定向规则

^tags\/([a-zA-Z0-9_-]+)\.html

并使用作为示例 /tags/a-led.html正在返回/tags/a-led。到目前为止,一切看起来都很好,但是当我在我的 htaccess 中应用规则时,如下所示

 RewriteRule ^tags\/([a-zA-Z0-9_-]+)\.html$  /tags/$1 [R,L]

和其他一些规则之后

RewriteRule ^(.*)/(d*)-(.*)\.html$  /showthread.php?$1 [R,L]
RewriteRule ^(d*)-(.*)\.html$ /threads/$2 [R,L]

没有被执行,不幸的是我没有胶水可能是什么原因。

4

2 回答 2

0
  1. 该规则看起来很好,当我将它放在一个默认安装 apache 的空白 htaccess 文件中时它可以工作。
  2. 确保您已加载 mod_rewrite 并且您已打开重写引擎 ( RewriteEngine On)。
  3. 如果您有其他规则,请确保您的重定向规则位于执行内部重写或路由的规则之前。
  4. 确保您的 htaccess 文件甚至被读取。您需要AllowOverride在服务器/虚拟主机配置中进行适当的设置。设置AllowOverride All将确保 htaccess 文件中的所有内容都得到应用。
于 2012-10-02T07:19:19.600 回答
0
RewriteEngine On 
RewriteRule ^tags\/([a-zA-Z0-9_-]+)\.html$  /tags/$1 [R,L]

还要检查您是否在[R,L]之前设置了任何其他规则。L 告诉 apache 如果该规则匹配,则不要再处理任何规则。

于 2012-10-02T07:19:46.140 回答