}
示例二:当请求的对象名前缀为“docs/”时,将请求重定向到主机“www.example.com”上的页面“documents/error.html”。 [
{
"Condition": {
"KeyPrefixEquals": "docs/"
},
"Redirect": {
"HostName": "www.example.com",
"ReplaceKeyWith": "documents/error.html"
}
}
上述重定向规则示例仅供参考,实际配置时请根据业务需求编写合适的重定向规则。 单击“确定”,完成静态网站托管配置。 在OBS管理控制台左侧导航栏选择“桶列表”。 在OBS管理控制台桶列表中,单击待操作的桶,进入“对象”页面。 可选:如果还未将桶内静态网站文件配置为任何用户可访问,请执行本步骤配置所有账户的访问权限。 如果已经配置,请跳过此步骤。 参考对所有账号授予指定对象的读权限为所有账号授予静态网站文件的读取权限。 如果桶中只有静态网站文件,则配置桶策略为“对象只读”,使桶内所有文件能被公开访问。 单击“访问权限控制>桶策略”。 单击“创建”。 配置桶策略信息。 图1 配置对象只读权限 表1 配置公共读策略参数配置说明 参数 说明 策略配置方式 支持可视化视图和JSON视图,此处以可视化视图为例,JSON视图的说明请参见自定义创建桶策略(JSON视图)。 策略名称 输入自定义桶策略的名称。 策略内容 效力 允许 被授权用户 被授权用户:所有账号 授权资源 资源范围:指定对象 资源路径:*(*表示桶内所有对象) 授权操作 动作范围:模板配置 模板:对象只读 单击“创建”,完成桶策略创建。 权限配置信息可以在桶策略列表查看。 在“基础配置”区域下,单击“静态网站托管”卡片,系统跳转至“静态网站托管”界面。 或您可以直接在左侧导航栏单击“基础配置>静态网站托管”,进入“静态网站托管”界面。 单击“配置静态网站托管”,系统弹出“配置静态网站托管”对话框。 打开“状态”开关。 “托管模式”选择“配置到当前桶”,如图3所示。 图3 配置静态网站托管 在“默认首页”、“默认404错误页面”中设置默认首页页面和404(Not Found)页面。 默认首页:即访问静态网站时的默认首页,当使用OBS管理控制台配置静态网站托管时,仅支持“html”格式的网页文件;当使用API的方式配置时,OBS不进行限制,用户必须指定对象的“ContentType”。 OBS仅支持配置桶根目录下的文件(如“index.html”)作为默认首页,暂不支持按目录层级的方式(如“/page/index.html”)配置默认首页。 默认404错误页面:即访问静态网站遇到错误时,OBS返回给用户的错误页面,当使用OBS管理控制台配置静态网站托管时,仅支持桶根目录下html、jpg、png、bmp、webp格式的文件;当使用API的方式配置时,OBS不进行限制,用户必须指定对象的“ContentType”。 可选:在“重定向规则”中配置重定向规则,满足重定向规则的请求将被重定向到指定主机或页面。 “重定向规则”采用JSON或XML格式编写,可以包含多条重定向规则,每条重定向规则包含一个Condition和一个Redirect,参数说明如表2所示。 表2 参数说明 容器 键值 键值说明 Condition KeyPrefixEquals 重定向生效时的对象名前缀,当向对象发送请求时,如果对象名前缀等于这个值,那么重定向生效。 重定向ExamplePage.html对象的请求,KeyPrefixEquals设为ExamplePage.html。 HttpErrorCodeReturnedEquals 重定向生效时的HTTP错误码,当发生错误时,如果错误码等于这个值,那么重定向生效。 当返回的HTTP错误码为404时重定向到NotFound.html,可以将Condition中的HttpErrorCodeReturnedEquals设置为404,Redirect中的ReplaceKeyWith设置为NotFound.html。 Redirect Protocol 重定向请求生效时使用的协议,取值为http或https,如不设置,默认为http。 HostName 重定向请求生效时使用的主机名,如不设置,代表重定向至原请求的HostName。 ReplaceKeyPrefixWith 描述重定向请求时使用的对象名前缀,请求中的对象名会将KeyPrefixEquals的内容替换为ReplaceKeyPrefixWith的内容。 想把所有对docs(目录下的对象)的请求重定向到documents(目录下的对象),可以将Condition中的KeyPrefixEquals设置为docs,Redirect中的ReplaceKeyPrefixWith设置为documents,那么对于对象名称为"docs/a.html",重定向的结果为"documents/a.html"。 ReplaceKeyWith 描述重定向请求时使用的对象名,请求中的整个对象名会被替换为ReplaceKeyWith的内容。 想把所有对"docs"目录下的所有对象的请求重定向到"documents/error.html",可以将Condition中的KeyPrefixEquals设置为docs,Redirect中的ReplaceKeyWith设置为"documents/error.html",那么对于对象名称为"docs/a.html"和"docs/b.html",重定向的结果都为"documents/error.html"。 HttpRedirectCode 响应中的HTTP状态码,默认值为301,表示永久重定向到Redirect指定的位置,也可根据业务实际情况设置。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/559559.html