配置了重定向规则后,当请求者访问Bucket发生指定错误时,OSS会将请求重定向至回源规则指定的源站。您可以利用这种跳转的功能对文件做重定向以及在此基础之上的各种业务。

操作步骤

当访问者访问Bucket出错时,可以通过指定回源条件和回源地址,跳转到源站继续访问。例如您在华东1(杭州)有名为examplebucket的Bucket,您希望请求者访问Bucket根目录下examplefolder目录中的文件不存在时,跳转到https://www.example.com/站点的examplefolder目录获取目标文件。

  1. 登录OSS管理控制台
  2. 单击Bucket列表,之后单击目标Bucket名称。
  3. 单击基础设置 > 镜像回源
  4. 单击设置,之后单击创建规则
  5. 创建规则面板,将回源类型设置为重定向
  6. 配置回源条件回源地址
    参数 配置
    回源条件
    • 选中HTTP状态码,并设置为404

      HTTP状态码的取值范围:400~599。各状态码代表的错误信息,请参见常见错误排查

    • 选中文件名前缀,并设置为examplefolder/
      说明 配置单条回源规则时文件名前缀和后缀可选填;配置多条回源规则时,必须设置不同的文件名前缀或后缀区分不同的回源规则。
    回源地址 选择添加前后缀,并将第一列设置为https,第二列设置为www.example.com,其他置空。
  7. 单击确定
    规则配置完成后的访问流程如下:
    1. 请求者首次访问https://examplebucket.oss-cn-hangzhou.aliyuncs.com/examplefolder/example.txt
    2. 若examplebucket中不存在examplefolder/example.txt文件,则OSS向请求者返回301状态码,并提供重定向的地址https://www.example.com/examplefolder/example.txt
    3. 请求者访问https://www.example.com/examplefolder/example.txt
    若您还涉及以下使用场景,可按场景配置以下参数:
    场景 参数
    OSS文件名前缀与源站不一致。 选中是否替换或截取前缀,并设置回源地址第三列内容。OSS会将文件名前缀的内容替换为回源地址第三列的内容。

    配置文件名前缀后可配置此项。

    将OSS请求中的queryString传递到源站。 选中携带请求字符串
    需要替换重定向状态码。 重定向规则默认状态码为301,您可以在重定向Code下拉框将状态码修改为302307
    重定向请求来源为阿里云CDN。 选择是否选中来源为阿里CDN

    重定向来源为阿里云CDN的时候,若选中来源为阿里CDN,CDN会自动去跟随重定向规则再去拉取内容;若不选中来源为阿里CDN,则CDN直接返回重定向的地址给客户端。