使用.htaccess剥离URL的结尾部分

时间:2017-10-20 14:55:53

标签: php .htaccess url-rewriting

有一个小问题,希望得到一些关于如何进行的建议。

我有一个网站通过邮寄方式查看付款表单并发回一个带有查询的长网址,我只是想摆脱它。表单使用隐藏字段,我不确定为什么它会发送回查询字符串...但尝试使用它。

这是一个被发回的典型网址:

  

http://www.example.com/testsite/index.php?option=com_virtuemart&Itemid=200&lang=en&layout=details&order_number=VVF1019218&view=orders&charset=utf-8&clientAccnum=333333&clientSubacc=1111&initialPrice=30.00&initialPeriod=2&Code=840&customer_fname=Ky&customer_lname=Williams&email=kywilliams@gmail.com&zipcode=&country=US&order_pass=p_ro4VmHBS&state=IN&city=&address1=&context=65748571b98f45543245d0d7a9b&pmid=20&flexId=5647365-1fe6-43a0-9936-e9b0fc80c2aa&formDigest=83746543829384756

我希望将网址转换为以下内容,其余的网址会被切断。 order_number是动态的,因此有时会发生变化。

  

http://www.example.com/testsite/index.php?option=com_virtuemart&Itemid=200&lang=en&layout=details&order_number=VVF1019218&view=orders

所以当网址被发送到我们的服务器时,我希望.htaccess在view=orders之后切断所有内容。这可能吗?我试过了:

RewriteCond %{QUERY_STRING} "view=orders" [NC]
RewriteRule (.*)  /$1? [R=301,L] 

到目前为止没有运气。希望能指出正确的方向。非常感谢!

1 个答案:

答案 0 :(得分:0)

尝试:

RewriteCond %{QUERY_STRING} ^(.*view=orders) [NC]
RewriteRule (.*)  /$1?%1 [R=301,L]