我有两个不同的php页面page.php和team.php。我重写page.php的规则如下:
RewriteRule ^([^/]+)/([0-9]+)\/?$ /page.php?name=$1&id=$2
它会将链接example.com/privacy_policy/30
重定向到example.com/page.php?name=privacy_policy&id=30
现在我想为team.php编写规则,以便链接example.com/team/Zeeshan_Lalani/3
重定向到example.com/team.php?name=Zeeshan_Lalani&id=3
我试图在上面的网址上完成的规则
RewriteRule ^team/([^/]+)/([0-9]+)\/?$ /team.php?name=$1&id=$2
但是使用此规则它与page.php规则冲突并呈现404 not found
错误,当我评论page.php规则时它可以正常工作。
请在这里建议我做错了什么?
答案 0 :(得分:2)
您可以尝试使用[L]标志。该标志表示如果语句正确,则不会匹配其他语句。例如:
RewriteRule ^team/([^/]+)/([0-9]+)\/?$ /team.php?name=$1&id=$2 [L]
RewriteRule ^([^/]+)/([0-9]+)\/?$ /page.php?name=$1&id=$2 [L]
请确保将“团队”规则置于另一个规则之上,否则第二条规则可能会在应用团队规则之前匹配。