设置桶的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());
} 
