http://www.domain.com/thanks.php?orderid=MTI0NjAx
以上网址应重定向到 http://www.domain.com/order-confirmation/MTI0NjAx
但现在它重定向到下面的网址就像...... http://www.domain.com/order-confirmation/MTI0NjAx?orderid=MTI0NjAx
我正在使用以下代码,但无法正常工作......
RewriteCond %{THE_REQUEST} /thanks\.php\?orderid=([^&\s]+) [NC]
RewriteRule ^ /order-confirmation/%1 [NC,R=301,L]
RewriteRule ^order-confirmation/([^/]+)$ /thanks\.php\?orderid=$1 [NC,L]
任何人都会帮助我,我该怎么做?
答案 0 :(得分:0)
您需要在目标网址中使用?
来删除以前的查询字符串:
RewriteCond %{THE_REQUEST} /thanks\.php\?orderid=([^&\s]+) [NC]
RewriteRule ^ /order-confirmation/%1? [R=301,L]
RewriteRule ^order-confirmation/([^/]+)$ /thanks\.php\?orderid=$1 [NC,L,QSA]
从Apache 2.4开始,您还可以使用QSD
(查询字符串放弃)标记来跳过先前的查询字符串。