Mod rewrite Mod_重写重定向url问题

Mod rewrite Mod_重写重定向url问题,mod-rewrite,Mod Rewrite,我正在编写一个小的PHP脚本。我使用mod_rewrite重定向了一些URL,但当我想转换时发现了一个问题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] 但它不起作用。我怎样才能修好它

我正在编写一个小的PHP脚本。我使用mod_rewrite重定向了一些URL,但当我想转换时发现了一个问题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]
但它不起作用。我怎样才能修好它

RewriteRule ^(.*)-phones-([^-]*)\.html$ phones.php?id=$2 [L,QSA]
QSA标志用于将当前查询字符串pn=2附加到重写的URL。 顺便说一句,您不能在重写规则中测试查询字符串,您必须使用:

RewriteCond  %{QUERY_STRING}   ^REGEXP$

欢迎来到堆栈溢出!在重写日志中看到什么了吗?请编辑成你的问题。@Nathantugy我什么都看不见,谢谢你的帮助!重写规则^mobile\/g \-phones\-\d+\.html\?pn\=\d+$mobile/phones.php?id=$1&pn=$2[L]。我将此作为注释发布,因为您应该使用RewriteCond%{QUERY_STRING},但此方法不知何故也有效。我调整了根域的路径。@它不工作!请记住,g也是一个变量!我不想在重写中包含移动目录!啊,更多的感叹号!然后重写规则^\g \-phones\-\d+\.html\?pn\=\d+$phones.php?id=$1&pn=$2[L]