Php ApacheURL重写查询字符串SEO
我有以下重写Php ApacheURL重写查询字符串SEO,php,apache,url-rewriting,query-string,iirf,Php,Apache,Url Rewriting,Query String,Iirf,我有以下重写 RewriteRule ^/news/([a-z0-9\-]+)/([a-z0-9\-]+)/?$ /pagebase.php?pbid=3656&nid=$1&title=$2 [QSA,L,I] 以便将上述url重写为: 这很好用。但是,我希望人们能够输入: 没有任何查询字符串,并将其重写为: 然而,匹配失败,所以我得到一个404错误。 无论如何,我可以重写规则,使最后两个查询字符串选项可选。我可以使用多个重写规则并将它们按正确的顺序排列,但我希望得到它
RewriteRule ^/news/([a-z0-9\-]+)/([a-z0-9\-]+)/?$ /pagebase.php?pbid=3656&nid=$1&title=$2 [QSA,L,I]
以便将上述url重写为:
这很好用。但是,我希望人们能够输入:
没有任何查询字符串,并将其重写为:
然而,匹配失败,所以我得到一个404错误。
无论如何,我可以重写规则,使最后两个查询字符串选项可选。我可以使用多个重写规则并将它们按正确的顺序排列,但我希望得到它,这样我就可以使用一个规则来工作 使用两个重写规则:
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]
我猜是这样的,但是你可以尝试一些类似的东西:
RewriteRule^/news(/?)([a-z0-9\-]+)/([a-z0-9\-]+)/?)$/pagebase.php?pbid=3656&nid=$2&title=$3[QSA,L,I]
我所做的是将“news”后面的部分分成两个选项——要么是一个可选的斜杠,要么是结构的其余部分。我相信整个括号表达式的价格为1美元,而随函附上的两个原始表达式的价格分别为2美元和3美元。