正则表达式 – 使用mod_rewrite删除参数

前端之家收集整理的这篇文章主要介绍了正则表达式 – 使用mod_rewrite删除参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用mod_rewrite从URL中删除一个指定的查询参数.

例:
1)用户输入网址:

http://localhost/intra/page.htm?var1=123&var2=456&var3=789

2)mod_rewrite删除“var2 = 456”

3)新网址:

http://localhost/intra/page.htm?var1=123&var3=789

我的问题是,我只知道参数名称(var2),而不是值(456),
并且我更新了解参数的顺序.它可能位于查询字符串的开头和结尾.

我会感激任何帮助,因为我花了很多时间在网上搜索,没有找到任何有效的解决方案.

解决方法

这是一个棘手的问题,因为var2 =任何东西都可以出现在查询字符串中的任何地方

代码应该适合您:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^(.+?&|)var2=[^&]*(?:&(.*)|)$[NC]
RewriteRule ^ %{REQUEST_URI}?%1%2 [R=301,L]

猜你在找的正则表达式相关文章