当重写带有多个参数的规则时,我很难将URL修改为seo友好。
我的网址:
http://domain/cat.php?alias=canon&sort=price&page=3
我想有一个重写规则,使以下内容:
http://domain/c/canon?sort=price&page=3
以下是我当前的规则:
RewriteEngine On
RewriteRule ^c/([a-z,0-9-]+)$ cat.php?alias=$1 [L]
RewriteRule ^c/([a-z,0-9-]+)?sort=([a-z]+)$ cat.php?alias=$1&sort=$2 [QSA]
RewriteRule ^c/([a-z,0-9-]+)?sort=([a-z]+)&page=([0-9]+)$ cat.php?alias=$1&sort=$2&page=$3 [QSA]
我试图获得参数,但它不起作用。有人知道应该使用哪些重写规则吗?
谢谢!——hatxi
RewriteRule ^c/([a-z,0-9-]+) cat.php?alias=$1 [L,QSA]
应该足够了。QSA
标志将负责传递sort
和page
参数。
你的规则不工作,因为第一个上的[L]
标志,它只是丢弃其余的,因为它总是首先匹配。