0

我有以下重写。

RewriteRule ^/news/([a-z0-9\-]+)/([a-z0-9\-]+)/?$ /pagebase.php?pbid=3656&nid=$1&title=$2 [QSA,L,I]

http://www.domain.com/news/1/new-event/

这样上面的url就会被改写为:

http://www.domain.com/pagebase.php?pbid=3656&nid=1&title=new-event

这完美地工作。但是我希望人们能够输入:

http://www.domain.com/news没有任何查询字符串并将其重写为:

http://www.domain.com/pagebase.php?pbid=3656&nid=&title=

但是匹配失败,所以我收到 404 错误。无论如何我可以重写我的规则以使最后 2 个查询字符串选项成为可选的。我能够使用多个重写规则并将它们按正确的顺序放置,但我想得到它,这样我就可以让它与一个规则一起工作。

4

1 回答 1

2

使用两个重写规则:

RewriteRule ^/news/([a-z0-9\-]+)/([a-z0-9\-]+)/?$ /pagebase.php?pbid=3656&nid=$1&title=$2 [QSA,L,I]
RewriteRule ^/news$ /pagebase.php?pbid=3656&nid=&title= [QSA,L,I]
于 2013-02-28T23:06:55.163 回答