Php 301重定向无法使用htaccess正常工作
上面的url应该重定向到 但现在它重定向到下面的url像。。。 我正在使用下面的代码,但工作不正常Php 301重定向无法使用htaccess正常工作,php,.htaccess,redirect,Php,.htaccess,Redirect,上面的url应该重定向到 但现在它重定向到下面的url像。。。 我正在使用下面的代码,但工作不正常 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] 任何人都可以
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]
任何人都可以帮助我,我该怎么做?您需要在目标URL中使用
?
来去除前面的查询字符串:
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
(查询字符串放弃)标志来删除以前的查询字符串。您需要在目标URL中使用?
删除以前的查询字符串:
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
(查询字符串丢弃)标志来跳出以前的查询字符串。我已经添加了您的编码,仍然会出现相同的问题,这可能是由于您的浏览器缓存造成的。在测试更改之前完全清除浏览器缓存。是的,清除缓存后,现在工作正常,谢谢。我已经添加了编码,仍然会出现相同的问题,这可能是由于浏览器缓存造成的。在测试更改之前完全清除浏览器缓存。是的,清除缓存后,现在工作正常,谢谢