【发布时间】:2019-11-23 19:04:55
【问题描述】:
我们在一些电子邮件签名中有一个旧的 URL 结构在流通,我想创建一个正则表达式模式来执行永久重定向,特定页面除外。
我们以前的每个办公地点都有一个子域。例如,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。但这也会重定向电子邮件免责声明。
如何修改正则表达式以从 * catchall 中排除“email_disclaimer”,以便重定向除 office1.domain.com/email_disclaimer 之外的所有内容?
如果可以做到这一点,我是否会为 domain.com/email_disclaimer 创建一个匹配“任何”子域的规则并将其重定向到新的静态电子邮件免责声明页面?这个正则表达式规则看起来如何?
【问题讨论】: