You need to enable JavaScript to run this app.
导航
URL 重定向改写
最近更新时间:2024.09.09 11:22:32首次发布时间:2024.09.09 11:22:32

本文将为您介绍如何在 veImageX 控制台配置 URL 重定向改写。该配置允许您对指定的请求路径,将其重定向到指定地址。

使用场景

在源站上,假设某些用户经常访问的文件的路径发生了变更。此时,有以下几种解决方案:

  • 方案一:在源站配置 301 或 302 重定向,将内容的原 URL 重定向到新的 URL。同时在 veImageX 中开启回源重定向跟随
  • 方案二:不在源站做任何变更,而是在 veImageX 配置 URL 重定向改写。如果用户请求了原 URL,veImageX 会响应 301 或者 302 状态码,指示用户浏览器向新的 URL 发送请求。
  • 方案三:不在源站做任何变更,而是在 veImageX 配置回源路径改写。如果用户请求了原 URL,veImageX 在回源请求中会使用新的 URL。

以下介绍的是第二种解决方案。

请求流程

在配置了某文件的 URL 重定向改写后,用户请求的流程如下:

  1. 用户使用浏览器向该文件发起访问请求。
  2. veImageX 返回 301 或者 302 响应状态码以及文件的新 URL。
  3. 用户浏览器向新 URL 发起访问请求。

操作步骤

  1. 登录 veImageX 控制台

  2. 选择 服务管理 > 基础配置 > 配置 > 缓存配置,进入缓存配置页面。

  3. 选择URL 重定向改写配置,单击编辑按钮,参考下表完成规则配置。

    配置项说明
    优先级表示规则的优先级。数字 1 的规则优先级最高。在收到请求时,veImageX-CDN 按规则的优先级,从高到低尝试将请求与规则匹配。如果请求匹配了某一条规则,veImageX-CDN 就停止匹配其余规则。您可以通过拖拽调整规则的优先级。
    待重写路径输入内容的原路径,长度不能超过 1,024 个字符。路径必须以斜杠(/)开头,并且不能包含连续斜杠(//)、百分号(%)、空格。路径支持正则表达式。例如,^/aaa/bbb/(.*) 表示路径 /aaa/bbb/ 下的所有文件。

    重定向方式

    选择重定向的响应状态码。您可以根据业务需要选择合适的状态码。该参数的取值如下:

    • 301:表示内容是永久性转移。
    • 302:表示内容是暂时性转移。

    需要留意的是,如果原用户请求使用的方法不是 GET,客户端浏览器可能会使用 GET 方法发送重定向请求。

    目标请求协议

    选择重定向后的请求所使用的协议。该参数的取值如下:

    • 跟随请求:表示重定向后的请求使用原请求的协议。
    • HTTP:表示重定向后的请求强制使用 HTTP 协议。
    • HTTPS:表示重定向后的请求强制使用 HTTPS 协议。
    目标 host输入目标路径所归属的域名或者 IP 地址。IP 地址只能是 IPv4 类型的地址。如果输入的是域名,域名的长度不能超过 1,024 个字符。需要注意的是,如果输入的域名不是加速域名,用户对重定向后的 URL 的请求将无法被加速。
    目标路径输入重定向后的目标路径,长度不能超过 1,024 个字符。路径必须以斜杠(/)开头,并且不能包含连续斜杠(//)、百分号(%)、空格。路径支持正则表达式。如果 待重写路径 字段也使用了正则表达式,您可以在 目标路径 字段中使用 $n 匹配 待重写路径 字段中正则表达式的变量。例如,就基于前面待重写路径的例子,输入的目标路径是 /bbb/$1。此时,目标路径为 /bbb/,同时文件名保持不变。

    目标参数

    选择原请求 URL 中查询参数的处理方式。该配置的取值如下:

    • 保留全部:表示新 URL 中包含原请求 URL 中所有的查询参数。
    • 删除全部:表示新 URL 中不包含原请求 URL 中的任何查询参数。
    • 保留部分:表示新 URL 仅包含原请求 URL 中指定的查询参数。
    • 删除部分:表示新 URL 中不包含原请求 URL 中指定的查询参数。

    指定部分参数

    指定要保留或删除的查询参数,长度不能超过 1,024 个字符。多个查询参数间使用英文分号(;)分隔。

    • 如果 目标参数 是 保留全部 或者 删除全部, 该配置的值必须为 *
    • 如果 目标参数 是 保留部分 或者 删除部分,您可以指定一个或者多个查询参数。查询参数不能包含连续斜杠(//)、百分号(%)、双引号(")、空格。同时,查询参数不能是 *

    该配置的默认值是 *