2016-09-20 228 views
1

http://www.domain.com/thanks.php?orderid=MTI0NjAx301重定向不htaccess的

上述網址正常工作應 http://www.domain.com/order-confirmation/MTI0NjAx

但現在其重定向重定向到URL下一樣...... 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] 

anyo ne幫我,我該怎麼做?

回答

0

您需要使用?的目標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(查詢字符串丟棄)標誌,以跳脫之前的查詢字符串。

+0

我已經添加了您的編碼,但仍有相同的問題 – mikejohnvino

+0

這可能是由於您的瀏覽器緩存。在測試chage之前完全清除瀏覽器緩存。 – anubhava

+1

是的,清除緩存後,現在它的工作正常,謝謝 – mikejohnvino