URL跳转

URL跳转主要允许我们设置不同域名之间的URL跳转。

设置跳转

可以在服务”详情” – “URL跳转”中点击”创建”按钮创建一个规则:

Redirect1.png

如上图所示:

  • 跳转前URL: 跳转之前的URL,需要填写完整的URL,包括http或者https,如果非80443的端口,也需要填入端口;
  • 匹配模式:
    • 匹配前缀:只要访问的URL头部部分包含跳转前URL,即可跳转;
    • 精准匹配:精准匹配跳转前的URL,即只有访问完全一样的URL才会跳转,即用户访问的URL和我们填入的”跳转前URL”内容一模一样时才会跳转;
    • 正则匹配:可以在跳转前URL中使用正则表达式,然后可以在跳转后URL中使用正则表达式中括号的变量,比如${1}${2}等;
  • 是否保留URL路径参数:选中后,则跳转之后,保留跳转之前的URL路径和参数,比如跳转前的URL是http://goedge.cn/docs?v=1,那么跳转后的URL也会带上/docs?v=1而变成https://goedge.cn/docs?v=1
  • 跳转后URL:系统匹配到跳转前URL之后要跳转到的URL;
  • 跳转状态码:跳转时使用的HTTP状态码,通常选择默认就行,默认的HTTP状态码是307
  • 匹配条件:如果对跳转前URL匹配还有别的约束条件,可以在这里添加;
  • 是否启用:使用启用当前规则。

各个项目填写完成后,点击底部的”保存”按钮即可保存设置。

注意:如果你设置的跳转规则没有起作用,请清空浏览器缓存或者换个浏览器尝试,确认是不是缓存的问题。

示例

所有端口跳转到单一端口

比如将所有端口号(包括80/443)链接都跳转到某个固定端口(比如 8888

  • 跳转前URL:^(?U)(http|https)://(.+)(:\d+)?(/.*)$
  • 匹配模式:正则匹配
  • 跳转后URL(这里假设你的8888是https):https://${2}:8888${4}

不用担心访问 8888 时会无限跳转,系统会自动判断跳转前后URL是否一致,如果一致将不会重复跳转。

域名跳转

比如跳转前:

  1. https://example.com/hello
  2. https://example1.com/hello
  3. https://example2.com/hello

跳转后:

  1. https://goedge.cn/hello

除了可以将”跳转类型”设置为域名跳转来实现外,还可以使用正则表达式:

  • 跳转前URL:^https://(.+?)/(.*)$,表达式中的 ^ 符号表示开始,$ 符号表示结束
  • 匹配模式:正则匹配
  • 跳转后URL:https://goedge.cn/${2}

HTTP到HTTPS

如果你的应用场景是希望将HTTP都自动跳转到HTTPS,可以在HTTP设置里快速设置。