【问题标题】:Regular Expression That Will Allow URL Redirect Of All URLs Without A String To Redirect To URL With That String正则表达式将允许所有没有字符串的 URL 的 URL 重定向重定向到具有该字符串的 URL
【发布时间】:2017-08-03 15:27:17
【问题描述】:

我有一些通过 IIS 处理的站点文件的版本化文件夹。我需要做的是创建一个 URL 重写,它将来自与最新版本不匹配的所有请求的流量重定向到最新版本。我遇到了困难,因为 RegEx 不是我的专长,我上周一直在研究它。

这是我需要的示例。

最新版本: https://testurl.com/v4/#

旧版本:

https://testurl.com/#

https://testurl.com/v2/#

https://testurl.com/v3/#

这些 url 也有其他路由(例如https://testurl/v3/#/rout1

我需要一个正则表达式,它会说“任何不包含 /v4/ 的请求的 url 重定向到 https://testurl/v4/#

有人能指出正确的方向吗?

【问题讨论】:

  • 附带问题,如果您要将它们全部重定向到最新版本,那么拥有不同版本的意义何在?你也可以完全不版本化你的 API
  • 因为我们目前正在努力解决 Angular 应用程序中的缓存问题(这是我所有研究中的一个常见问题),这使我们处于一个必须对前面进行版本控制的空间-end 调用 API 以确保最终用户获取更新的后端应用程序的文件。

标签: regex iis url-redirection


【解决方案1】:

此正则表达式将捕获您列出的表单的所有域。捕获组 1 将包含实际路线,例如 //rout1

/^https\:\/\/testurl\.com(?:\/v\d)?\/#(.*)$/

你可以在这里看到它:http://regexr.com/3fgo8

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    • 2015-10-25
    相关资源
    最近更新 更多