设置桶的网站配置-九游平台
功能介绍
obs允许在桶内保存静态的网页资源,如.html网页文件、flash文件、音视频文件等,当客户端通过桶的website接入点访问这些对象资源时,浏览器可以直接解析出这些支持的网页资源,呈现给最终用户。典型的应用场景有:
- 重定向所有的请求到另外一个站点。
- 设定特定的重定向规则来重定向特定的请求。
本接口实现为桶创建或更新网站配置信息。
要正确执行此操作,需要确保执行者有putbucketwebsite权限。默认情况下只有桶的所有者可以执行此操作,也可以通过设置桶策略或用户策略授权给其他用户。
1.尽量避免目标桶名中带有“.”,否则通过https访问时可能出现客户端校验证书出错。
2.设置桶的静态网站托管配置请求消息体的上限是10kb。
请求消息样式
1 2 3 4 5 6 7 8 9 10 |
put/?websitehttp/1.1 host:bucketname.obs.cn-north-4.myhuaweicloud.com content-length:length date:date authorization:authorization |
请求消息参数
该请求消息中不使用消息参数。
请求消息头
该请求使用公共消息头,具体参见表3。
请求消息元素
在此请求中,需要在请求的消息体中配置桶的网站配置信息,配置信息以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
条件:有其他兄弟节点存在时非必选
否
响应消息样式
1 2 3 |
http/1.1status_code date:date content-length:length |
响应消息头
该请求的响应消息使用公共消息头,具体请参考表1。
响应消息元素
该请求的响应消息不带消息元素。
错误响应消息
无特殊错误,所有错误已经包含在表2中。
请求示例:将该桶的所有请求重定向至其他桶或url
1 2 3 4 5 6 7 8 9 10 11 12 13 |
put/?websitehttp/1.1
user-agent:curl/7.29.0
host:examplebucket.obs.cn-north-4.myhuaweicloud.com
accept:*/*
date:wed,01jul201503:40:29gmt
authorization:obsh4ipjx0tqththebqqcec:puk7yp0yebnq4p6gqzvjos7whom=
content-length:194
|
响应示例:将该桶的所有请求重定向至其他桶或url
1 2 3 4 5 6 |
http/1.1200ok server:obs x-obs-request-id:bf2600000164360d144670b9d02aabc6 x-obs-id-2:32aaaqaaeaabsaagaaeaabaaaqaaeaabcsitqmz/aofux97l1xx8s67v3ccqtxwk date:wed,01jul201503:40:29gmt content-length:0 |
请求示例:设置桶的网站配置,不配置重定向
put /?website http/1.1 authorization: obs h4ipjx0tqththebqqcec:iqspeubl66pwxdapxjrkk6hlcn4= user-agent: curl/7.29.0 host: examplebucket.obs.region.myhuaweicloud.com date: wed, 01 jul 2015 02:37:22 gmt content-type: application/xmlindex.html someerrordocument.html
响应示例:设置桶的网站配置,不配置重定向
x-obs-id-2: 32aaaqaaeaabsaagaaeaabaaaqaaeaabcsfxlr frxujzyplod1lrlk45tvx gpr x-obs-request-id: 0000018a39f07d0dd3888442dc29719e server: obs content-length: 0 date: wed, 01 jul 2015 02:37:22 gmt
请求示例:设置桶的网站配置,并指定可选的重定向规则
put /?website http/1.1 authorization: obs h4ipjx0tqththebqqcec:iqspeubl66pwxdapxjrkk6hlcn4= user-agent: curl/7.29.0 host: examplebucket.obs.region.myhuaweicloud.com date: wed, 01 jul 2015 02:37:22 gmt content-type: application/xmlindex.html error.html docs/ documents/
响应示例:设置桶的网站配置,并指定可选的重定向规则
x-obs-id-2: 32aaaqaaeaabsaagaaeaabaaaqaaeaabcsxixo46vlyhgry/zwgqlm0fmnpefthi x-obs-request-id: 0000018a39f2e328d3888f46db9bb5a2 server: obs content-length: 0 date: wed, 01 jul 2015 02:37:22 gmt
请求示例:设置桶的网站配置,并重定向错误
put /?website http/1.1 authorization: obs h4ipjx0tqththebqqcec:iqspeubl66pwxdapxjrkk6hlcn4= user-agent: curl/7.29.0 host: examplebucket.obs.region.myhuaweicloud.com date: wed, 01 jul 2015 02:37:22 gmt content-type: application/xmlindex.html error.html 404 www.huaweicloud.com report-404/
响应示例:设置桶的网站配置,并重定向错误
x-obs-id-2: 32aaaqaaeaabsaagaaeaabaaaqaaeaabcs/xbblgzwruil439ewmw1v/vphfb6jy x-obs-request-id: 0000018a3a06c048d38610c04366b2f5 server: obs content-length: 0 date: wed, 01 jul 2015 02:37:22 gmt
请求示例:设置桶的网站配置,并将文件夹请求重定向到页面
put /?website http/1.1 authorization: obs h4ipjx0tqththebqqcec:iqspeubl66pwxdapxjrkk6hlcn4= user-agent: curl/7.29.0 host: examplebucket.obs.region.myhuaweicloud.com date: wed, 01 jul 2015 02:37:22 gmt content-type: application/xmlindex.html error.html images/ errorpage.html
响应示例:设置桶的网站配置,并将文件夹请求重定向到页面
x-obs-id-2: 32aaaqaaeaabsaagaaeaabaaaqaaeaabcsljakddyha8ly/hcofnfblbeakcaycv x-obs-request-id: 0000018a3a09d30cd306902fc7572429 server: obs content-length: 0 date: wed, 01 jul 2015 02:37:22 gmt
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨