我有一个网站,我想要实现这样的方案:
如果用户输入网站/ user1,我想将用户重定向到网站/ profile.php?user = user1
但我想将网站/ Feed重定向到网站/ action.php
我将.htaccess文件更改为:
RewriteRule ^([a-zA-Z0-9_\-]+)(/?)$ profile.php?user=$1 [L,QSA]
RewriteRule ^feed(/?)+$ action.php [L,QSA]
当我输入网站/ user1时,它可以正常工作,但不适用于网站/ Feed,它会搜索网站/ profile.php?user = feed
答案 0 :(得分:1)
您必须更改规则的顺序:
RewriteRule ^feed(/?)+$ action.php [L,QSA]
RewriteRule ^([a-zA-Z0-9_\-]+)(/?)$ profile.php?user=$1 [L,QSA]
这意味着如果您的网址与第一个RewriteRule
匹配,则会应用该网址。否则它将转到下一个RewriteRule
。
定义这些规则的顺序很重要 - 这是它们在运行时应用的顺序。