我在htaccess文件中有一些重写规则。我仍然深入研究,所以我不确定一些事情。 基本上我想要的所有页面(除/注册页面)重写这样的:http://www.example.com/about - >http://www.example.com?page=about需要覆盖以前编写的重写规则
要获得正确的,我写这条规则:
RewriteRule ^([a-z-_1-9]+)+/?$ ./?page=$1&%{QUERY_STRING} [L]
然后我写了下面这条规则一个以上的认为它会覆盖它,但它不...
RewriteRule ^register/?$ ./?page=login&option=register
所以要去/寄存器给了我404。但是,如果我注释掉的第一个规则,然后注册页面的作品。 我认为它会像CSS一样工作,在这里写一个新的规则将优先。 我如何得到这个权利,你如何覆盖以前编写的重写规则?
谢谢!
您已设置'[L]'这使得该规则的最后一条规则是否匹配来执行。任何后续的规则都将被忽略。 – Tomalak
感谢您的快速回复。我拿走了[L],但仍然存在相同的问题 – uguMark
由于您的第二条规则比第一条更具体,因此您应该更换它们。 '^ register /?$'应该是第一个被测试的,你也可以把'[L]'加到那个。 – Tomalak