代码之家  ›  专栏  ›  技术社区  ›  Nathan Osman

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

  •  1
  • Nathan Osman  · 技术社区  · 14 年前

    规则如下:

    <IfModule mod_rewrite.c>
    RewriteEngine on
    
    RewriteRule ^$ index.php?action=home [L]
    RewriteRule ^[\w\W]*$ error.php [L]
    

    当一个页面与第一个页面匹配时,应该忽略其他任何进一步的规则。尚未访问 / 结果在 error.php 正在被调用。注释第二条规则按预期工作-页面重定向到 index.php .

    我做错什么了?

    也: 有没有更好的方法来写最后一行?这基本上是一个“全力以赴”的过程。

    2 回复  |  直到 14 年前
        1
  •  3
  •   YOU    14 年前

    你可以改变

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

        2
  •  0
  •   Mitch Dempsey    14 年前

    如果最后一行是“一网打尽”,就这么做吧。 RewriteRule ^.*$ error.php [L]

    当您发送请求时,您的第一行可能出错。 / 因为你的规则是说“没什么”,而你正在发送 / .

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