为什么[L]标志在我的.htaccess文件中不起作用?

时间:2010-05-11 03:37:22

标签: .htaccess mod-rewrite

以下是规则:

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteRule ^$ index.php?action=home [L]
RewriteRule ^[\w\W]*$ error.php [L]

当页面与第一个页面匹配时,它应该忽略任何其他进一步的规则。然而,访问/会导致error.php被调用。评论第二条规则按预期工作 - 页面重定向到index.php

我做错了什么?

另外:有没有更好的方法来写最后一行?它基本上是一个全能的。

2 个答案:

答案 0 :(得分:3)

你可以改变

^[\w\W]*$^[\w\W]+$^.+$

答案 1 :(得分:0)

如果最后一行是全能,请执行RewriteRule ^.*$ error.php [L]

当您发送/请求时,您的第一行可能会出错,因为您的规则是“没有”,而您正在发送/

尝试将规则更改为RewriteRule ^/$ index.php?action=home [L]