正则表达式删除特定的查询参数

时间:2019-03-13 09:21:09

标签: regex

我们有一个网站版本,该版本在任何URL的末尾添加了lang查询参数。它持续了很长时间,因为它创建了很多重复的页面...但是它们仍然存在于google中。我想进行重定向以基本上删除任何引用。

一个例子是https://www.example.com/?lang=au

我正在使用一个支持正则表达式的重定向插件(wordpress),但是在格式化方面遇到了麻烦。它删除了“ Lang”部分,但没有其他内容。

/(.*)\/?lang=*

然后应重定向到

https://www.example.com/$1 

因此,任何形式,例如example.com/sub-page/something-else/?lang=au都将重定向回example.com/sub-page/something-else/(减去lang参数)。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

这是您应该使用的正则表达式:

\/(.*)\/\?lang=.*

基本上,您在末尾使用=*,这意味着: =字符 的零到无限次之间进行匹配,并且=之后不能匹配任何内容。

使用lang=.*意味着:

  • lang=与字符lang =完全匹配(区分大小写)
  • .*匹配任何字符(行终止符除外)