设置桶的Website配置
功能说明
设置桶的Website配置。
方法定义
1. ObsClient->setBucketWebsite(array $parameter) 2. ObsClient->setBucketWebsiteAsync(array $parameter, callable $callback)
请求参数
字段名 |
类型 |
约束 |
说明 |
||
---|---|---|---|---|---|
Bucket |
string |
必选 |
桶名。 |
||
RedirectAllRequestsTo |
associative array |
可选 |
所有请求重定向规则。 |
||
HostName |
string |
必选 |
重定向请求时使用的站点名。 |
||
Protocol |
string |
可选 |
重定向请求时使用的协议,支持的值:
|
||
ErrorDocument |
associative array |
可选 |
错误页面配置。 |
||
Key |
string |
可选 |
指定当4XX错误出现时返回的页面。 |
||
IndexDocument |
associative array |
可选 |
默认页面配置。 |
||
Suffix |
string |
必选 |
该字段被追加在对文件夹的请求的末尾(例如:配置的是“index.html”,请求的是“samplebucket/images/”,返回的数据将是“samplebucket”桶内名为“images/index.html”的对象的内容)。该字段不能为空或者包含“/”字符。 |
||
RoutingRules |
indexed array |
可选 |
重定向规则列表。 |
||
Condition |
associative array |
可选 |
重定向规则的匹配条件。 |
||
HttpErrorCodeReturnedEquals |
string |
可选 |
重定向规则生效需要匹配的HTTP错误码。 |
||
KeyPrefixEquals |
string |
可选 |
重定向规则生效需要匹配的对象名前缀。 |
||
Redirect |
associative array |
必选 |
重定向请求时的具体信息。 |
||
Protocol |
string |
可选 |
重定向请求时使用的协议,支持的值:
|
||
HostName |
string |
可选 |
重定向请求时使用的站点名。 |
||
ReplaceKeyPrefixWith |
string |
可选 |
重定向请求时使用的对象名前缀。 |
||
ReplaceKeyWith |
string |
可选 |
重定向请求时使用的对象名。不可与ReplaceKeyPrefixWith同时存在。 |
||
HttpRedirectCode |
string |
可选 |
重定向请求时响应中的HTTP状态码。 |
- ErrorDocument,IndexDocument和RoutingRules必须配套使用,且与RedirectAllRequestsTo互斥。当设置了这三个字段时,不能设置RedirectAllRequestsTo;反之,当设置了RedirectAllRequestsTo时,不能设置ErrorDocument,IndexDocument和RoutingRules。
- 当ErrorDocument,IndexDocument和RoutingRules三个字段一起使用时,RoutingRules可为空。
- ErrorDocument,IndexDocument、RoutingRules与RedirectAllRequestsTo不能全为空。
返回结果
字段名 |
类型 |
说明 |
---|---|---|
HttpStatusCode |
integer |
HTTP状态码。 |
Reason |
string |
HTTP文本描述。 |
RequestId |
string |
OBS服务端返回的请求ID。 |
代码样例
try{ $resp = $obsClient -> setBucketWebsite([ 'Bucket' => 'bucketname', // 'RedirectAllRequestsTo' => ['HostName' => 'www.example.com', 'Protocol' => 'https'], 'IndexDocument' => ['Suffix' => 'index.html'], 'ErrorDocument' => ['Key' => 'error.html'], 'RoutingRules' => [ ['Condition' => ['HttpErrorCodeReturnedEquals' => 404, 'KeyPrefixEquals' => 'prefix'], 'Redirect' => ['Protocol' => 'http', 'ReplaceKeyWith' => 'key']], ['Condition' => ['HttpErrorCodeReturnedEquals' => 404, 'KeyPrefixEquals' => 'prefix'], 'Redirect' => ['Protocol' => 'http', 'ReplaceKeyWith' => 'key']] ] ]); printf("RequestId:%s\n", $resp['RequestId']); }catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage()); }