我有以下网址:http://www.domain.com/keyword/b21?f=&ca1=50&p=1
我试图使用的RewriteRule
如下:
RewriteRule ^([^.]+)/b([0-9]+)?f=([^.]+)&p=([0-9]+)$ script.php?id=$2&p=$2&filters=$3
不幸的是,此规则与网址不匹配。
我认为它与?
有关,因为我知道这是一个在regualr表达式中使用的字符。
任何帮助都会被大大改编。
答案 0 :(得分:2)
我没有对此进行过测试,我之前没有使用这样的重写,所以它可能不完全正确。
RewriteCond %{QUERY_STRING} ^f=([^.]+)&p=([0-9]+)$
RewriteRule ^([^.]+)/b([0-9]+)$ script.php?id=$2&p=$2&filters=%1
答案 1 :(得分:1)
我强烈建议您使用完整查询字符串重定向URL,并使用parse_str()