0

我有两个不同的 php 页面 page.php 和 team.php。我为重写 page.php 编写的规则如下

RewriteRule ^([^/]+)/([0-9]+)\/?$ /page.php?name=$1&id=$2

它将链接重定向example.com/privacy_policy/30example.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 规则时它工作正常。

请建议我在这里做错了什么?

4

1 回答 1

2

您可以尝试使用 [L] 标志。该标志表示如果语句正确,则不会匹配其他语句。前任:

RewriteRule ^team/([^/]+)/([0-9]+)\/?$ /team.php?name=$1&id=$2 [L]
RewriteRule ^([^/]+)/([0-9]+)\/?$ /page.php?name=$1&id=$2 [L]

确保将“团队”规则置于另一条之上,否则第二条规则可能会在团队规则应用之前匹配。

于 2013-08-21T17:54:03.647 回答