【发布时间】:2019-11-10 19:55:21
【问题描述】:
我想用多字符串查询重写url
原网址
www.xxx.com/sale.php?a=sale&&b=product&&c=category
预期的网址
www.xxx.com/sale/a/b/c
在htaccess中写了下面的代码
RewriteRule ^sale/(.*)/?$ sale.php?a=$1&b=$2&c=$3
似乎 / 没有转义,当我试图回显 a、b 和 c。我得到了以下输出。
$a = $_REQUEST['a'];
$b = $_REQUEST['b'];
$a = $_REQUEST['c'];
Output value
a = sale/product/category
b =
c =
Expected result
a = sale
b = product
c = category
提前致谢。
我也尝试了以下实例
RewriteRule ^sale/(.*)$ sale.php?a=$1&b=$2&c=$3
RewriteRule ^sale/([^/.]+)/?$ sale.php?a=$1&b=$2&c=$3 -> This didnt worked.
Actual value
a = sale/product/category
b =
c =
Expected result
a = sale
b = product
c = category
【问题讨论】:
-
RewriteRule 怎么样 ^sale/([^/]+)/([^/]+)/([^/]+)/?$ sale.php?a=$1&b=$2 &c=$3
-
这是一个测试规则的好工具:htaccess.madewithlove.be
-
我认为您需要的是使用 QSA 标志附加查询字符串参数。见stackoverflow.com/q/16908599/80836