我正在尝试向我的 htcaccess 文件添加重写规则,而我遇到问题的部分是查询字符串。我想将查询字符串参数 pid 添加到重写规则中。这两行代码都不起作用,如何为重写规则设置查询字符串。
RewriteRule browse/(.*)/?pid=(/d+) show_products.php?department=$1&pid=$2
RewriteRule browse/(.*)/?pid=([0-9]+) show_products.php?department=$1&pid=$2
应该看起来像
http://mysite.com/browse/department?pid=1
或者
http://mysite.com/browse/department/?pid=1
我已经让它这样做了,但是它没有问号,有人知道如何让它有问号吗
RewriteCond %{QUERY_STRING} ^$
RewriteRule browse/(.*)/pid=([0-9]+)$ show_products.php?department=$1&pid=$2
http://mysite.com/browse/department/pid=1
答案1
RewriteRules 不直接匹配查询字符串。您需要使用类似
RewriteCond %{QUERY_STRING} ^pid=([0-9]+)
RewriteRule browse/(.*)/ show_products.php?department=$1&pid=%1
尚未测试但应该接近。