对象存储服务 OBS-设置桶的网站配置:请求消息元素

时间:2024-10-21 15:06:42

请求消息元素

在此请求中,需要在请求的消息体中配置桶的网站配置信息,配置信息以XML格式上传。

  • 如果重定向所有请求,网站配置元素如表1描述。
    表1 重定向所有请求Website配置元素

    名称

    描述

    是否必选

    WebsiteConfiguration

    网站配置的根节点。

    类型:Container

    父节点:无

    RedirectAllRequestsTo

    描述所有请求的重定向行为,如果这个节点出现,所有其他的兄弟节点都不能出现。

    类型:Container

    父节点:WebsiteConfiguration

    HostName

    描述重定向的站点名。

    类型:String

    父节点:RedirectAllRequestsTo

    Protocol

    描述重定向请求时使用的协议(http,https),默认使用http协议。

    类型:String

    父节点:RedirectAllRequestsTo

  • 如果想要设定重定向规则,网站配置元素如表2描述。
    表2 设定重定向规则Website配置元素

    名称

    描述

    是否必选

    WebsiteConfiguration

    Website配置的根节点。

    类型:Container

    父节点:无

    IndexDocument

    Suff元素

    类型:Container

    父节点:WebsiteConfiguration

    Suffix

    Suffix元素被追加在对文件夹的请求的末尾(例如:Suffix配置的是“index.html”,请求的是“samplebucket/images/”,返回的数据将是“samplebucket”桶内名为“images/index.html”的对象的内容)。Suffix元素不能为空或者包含“/”字符。

    类型:String

    父节点:IndexDocument

    ErrorDocument

    Key元素。

    类型:Container

    父节点:WebsiteConfiguration

    Key

    当4XX错误出现时使用的对象的名称。这个元素指定了当错误出现时返回的页面。

    类型:String

    父节点:ErrorDocument

    条件:父节点ErrorDocument存在时

    RoutingRules

    Routing元素

    类型:Container

    父节点:WebsiteConfiguration

    RoutingRule

    重定向规则的元素。一条重定向规则包含一个Condition和一个Redirect,当Condition匹配时,Redirect生效

    类型:Container

    父节点:RoutingRules

    元素中至少要有一个RoutingRule元素

    Condition

    描述重定向规则匹配的条件的元素。

    类型:Container

    父节点:RoutingRule

    KeyPrefixEquals

    描述当重定向生效时对象名的前缀。

    例如:

    • 重定向ExamplePage.html对象的请求,KeyPrefixEquals设为ExamplePage.html。

    类型:String

    父节点:Condition

    条件:父节点Condition存在,并且兄弟节点HttpErrorCodeReturnedEquals不存在。如果设定了两个条件,只有都匹配时,Redirect才生效。

    HttpErrorCodeReturnedEquals

    描述Redirect生效时的HTTP错误码。当发生错误时,如果错误码等于这个值,那么Redirect生效。

    例如:

    • 当返回的http错误码为404时重定向到NotFound.html,可以将Condition中的HttpErrorCodeReturnedEquals设置为404,Redirect中的ReplaceKeyWith设置为NotFound.html。

    类型:String

    父节点:Condition

    条件:父节点Condition存在,并且兄弟节点KeyPrefixEquals不存在。如果设定了多个条件,需要同时匹配所有的条件,Redirect才可生效。

    Redirect

    重定向信息的元素。可以重定向到另一个站点、另一个页面或使用另一个协议。当事件或错误发生时,可以指定不同的返回码。

    类型:Container

    父节点:RoutingRule

    Protocol

    描述重定向请求时使用的协议。

    类型:String

    父节点:Redirect

    可选值:http、https

    条件:有其他兄弟节点存在时非必选

    HostName

    描述重定向请求时使用的站点名。

    类型:String

    父节点:Redirect

    条件:有其他兄弟节点存在时非必选

    ReplaceKeyPrefixWith

    描述重定向请求时使用的对象名前缀,请求中的对象名会将KeyPrefixEquals的内容替换为ReplaceKeyPrefixWith的内容。

    例如:

    想把所有对docs(目录下的对象)的请求重定向到documents(目录下的对象),可以将Condition中的KeyPrefixEquals设置为docs,Redirect中的ReplaceKeyPrefixWith设置为documents。那么对于对象名称为"docs/a.html",重定向的结果为"documents/a.html"。

    类型:String

    父节点:Redirect

    条件:有其他兄弟节点存在时非必选,不可与ReplaceKeyWith同时存在

    ReplaceKeyWith

    描述重定向请求时使用的对象名,请求中的整个对象名会被替换为ReplaceKeyWith的内容。

    例如:

    想把所有对"docs"目录下的所有对象的请求重定向到"documents/error.html",可以将Condition中的KeyPrefixEquals设置为docs,Redirect中的ReplaceKeyWith设置为"documents/error.html"。那么对于对象名称为"docs/a.html"和"docs/b.html",重定向的结果都为"documents/error.html"。

    类型:String

    父节点:Redirect

    条件:有其他兄弟节点存在时非必选,不可与ReplaceKeyPrefixWith同时存在

    HttpRedirectCode

    描述响应中的HTTP状态码。

    类型:String

    父节点:Redirect

    条件:有其他兄弟节点存在时非必选

support.huaweicloud.com/api-obs/obs_04_0071.html