我想使用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]