我想从/orders/whatever/?n=4
为:
/orders/?shopURL=whatever&n=4
我设法重定向到正确的目录,但我丢失了传递的变量。
这是我目前的规则:
RewriteRule ^([\w\d]+)$ /orders/?shopURL=$1 [L]
答案 0 :(得分:1)
如果要强制执行查询字符串,请使用:
RewriteCond %{QUERY_STRING} (\bn=\d+\b)
RewriteRule ^orders/([\w\d]+)/?$ /orders/?shopURL=$1&%1 [L]
否则,您可以在没有RewriteCond的情况下使用以下内容:
RewriteRule ^orders/([\w\d]+)/?$ /orders/?shopURL=$1 [L,QSA]
答案 1 :(得分:1)
QSA
的{{1}}标记将保留现有的查询字符串字段。
答案 2 :(得分:0)
你的RewriteRule似乎非常通用,好像它会重定向几乎每一页。
我对正则表达式并不是那么好,所以我会留给你或其他人。但是你需要在重写规则结束时捕获参数,然后将它附加到新URL的末尾。
RewriteRule ^([\w\d]+)/(somethinghere)$ /orders/?shopURL=$1&$2 [L]