Apache Url重写查询字符串SEO


Apache Url Rewrite Query String SEO

我重写了以下内容。

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将被重写为:

= 1,

http://www.domain.com/pagebase.php?pbid=3656&国家免疫日标题=新事件

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

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

=,

http://www.domain.com/pagebase.php?pbid=3656&国家免疫日标题=

然而,匹配失败,所以我得到一个404错误。无论如何,我可以重写我的规则,使最后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]