我将使用.htaccess文件重定向
http://www.example.org/results.php?q=anything&start=0&type=web
到
http://www.example.org/search/anything/0/web
这可能吗? 此时,我只重定向q-GET参数,使用此RewriteRule:
RewriteRule ^search/(.*)$ results.php?q=$1 [L,QSA]
它仍然有效,但我不知道重写3个Get参数。
答案 0 :(得分:1)
RewriteRule ^search/(.*)/(.*)/(.*)$ results.php?q=$1&start=$2&type=$3 [L,QSA]
答案 1 :(得分:0)
RewriteRule ^(search)/(.*)/(\d+)/(.*)$ results.php?q=$2&start=$3&type=$4 [L,QSA]
小解释:
当您使用(.*)
进行正则表达式匹配时,您可以使用$#
获取匹配的部分,其中#
是一个增量数字,表示链中每个匹配项的位置。< / p>
search/(.*)
= search/$1
search/(.*)/(.*)
= search/$1/$2
search/(.*)/(.*)/(.*)
= search/$1/$2/$3