我正在研究一个小的PHP脚本。我使用mod_rewrite重定向某些网址,但是当我想将http://localhost/mobile/g-phones-1.html?pn=2
转换为http://localhost/mobile/phones.php?id=1&pn=2
时,我发现了一个问题。
我用过这个
RewriteRule ^(.*)-phones-([^-]*)\.html?pn=([^-]*)$
phones.php?id=$2&pn=$3 [L]
但它不起作用。我该怎么办呢?
答案 0 :(得分:0)
RewriteRule ^(.*)-phones-([^-]*)\.html$ phones.php?id=$2 [L,QSA]
QSA
标志用于将当前查询字符串(pn=2
)附加到重写的URL。
顺便说一下,你不能在重写规则中测试你的查询字符串,你必须使用:
RewriteCond %{QUERY_STRING} ^REGEXP$