apache - 如何使用 htaccess 从 url 中删除不必要的查询字符串参数?
问题描述
我有以下网址。
www.abc.com/xyz/?a=1&b=2&c=3&d=4&e=12&f=45
我想将其重定向到以下 URL(通过 htaccess)
www.abc.com/xyz/?a=1&b=2&c=3&d=4
如何实现上述重定向?
注意:-有效的 queryString 参数是 a, b, c & d
,除此之外,删除新 URL(重定向 URL)中的所有这些其他参数,并且这些参数有可能以任何顺序出现,即a=1&b=2&c=3&d=4
或者d=4&b=2&c=3&a=1
是可能的。并且这些参数不一定总是出现,有时它们中的一些不会出现在 URL 中(意味着 URL 中可能只有两个有效参数或三个或一个)。
一种方法是
RewriteCond %{QUERY_STRING} (a=[\d]+)(b=[\d]+)(c=[\d]+)(d=[\d]+)
RewriteRule ^xyz xyz/\?%1&%2&%3&%4 [R=301,NC,L]
上述方法的问题是我必须编写所有可能的组合,例如当其中一个缺失时的规则,以及所有可能顺序的规则。
有没有更好的方法来做到这一点?
解决方案
推荐阅读
- vue.js - 为生产 vue 构建提供环境变量
- linux - 在 bash 和 ssh 中转义复杂的命令行参数
- python - Pandas 中的 Pivot 错误地将索引列转换为行标签...丢失索引列
- java - 使用 System.out.println("") 找不到符号;(NetBeans、IntelliJ 或 Eclipse)
- r - 使用 sparklyr 拆分日期和时间变量
- r - 基本 R cor() 函数的结果与Recommenderlab 包中的similarity() 函数的结果不同?
- javascript - Javascript:添加字段总计
- python - Mypy 捕获 AttributeError
- django - 如何在 Django 应用程序中实现位置搜索/地图
- python - 如何自动将数据放入代码行?