Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ApacheURL重写查询字符串SEO_Php_Apache_Url Rewriting_Query String_Iirf - Fatal编程技术网

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美元。