全部网址正则表达式(特定页面除外)

时间:2019-07-15 05:22:59

标签: regex nginx redirect

我们在某些电子邮件签名中使用的网址结构很旧,我想创建一个正则表达式模式来进行永久重定向,但特定页面除外。

我们以前每个办公室位置都有一个子域。例如,Office 1是office1.domain.com,Office 2是office2.domain.com,依此类推,直到Office 16。

每个办公室的工作人员都有一个电子邮件签名,并带有指向其特定子域站点上的“电子邮件免责声明”页面的链接。例如。 office1.domain.com/email_disclaimer。

当我们启动新网站时,我们摆脱了旧的结构,现在只有一个网站,每个办公室都有页面,而不是每个办公室都有子域(例如domain.com/office1)。因此,我目前正在使用16个正则表达式规则(例如^/office1.*)将任何页面从旧的office1.domain.com重定向到静态domain.com/office1。但这还会重定向电子邮件免责声明。

我如何修改正则表达式以从*捕获包中排除“ email_disclaimer”,以便它重定向除例如office1.domain.com/email_disclaimer以外的所有内容?

如果可以做到,那么我是否可以为domain.com/email_disclaimer创建一个匹配“ any”子域的规则,并将其重定向到新的静态电子邮件免责声明页面?此正则表达式规则的外观如何?

1 个答案:

答案 0 :(得分:0)

您可以使用否定提前查询

^(?!.*email_disclaimer)office1

enter image description here

Demo