
# 设置桶的Website配置
#### 功能说明
设置桶的Website配置。
#### 方法定义
```
ObsClient.setBucketWebsite
```
#### 请求参数
| **字段名**                           ||| **类型**                                                                      | **约束** | **说明**                                                                                                                                                                                                                             |
|:--|---|---|:---|:---|:---|
| Bucket                            ||| String                                                                      | 必选     | 桶名。                                                                                                                                                                                                                                |
| RequestDate                       ||| String 或 Date | 可选     | 指定请求时间。 说明： 当为String类型时，必须符合ISO8601或RFC822规范。                                                                                                                            |
| RedirectAllRequestsTo             ||| Object                                                                      | 可选     | 所有请求重定向规则。                                                                                                                                                                                                                         |
| - | HostName                       || String                                                                      | 必选     | 重定向请求时使用的站点名。                                                                                                                                                                                                                      |
| - | Protocol                       || String                                                                      | 可选     | 重定向请求时使用的协议，支持的值： - http（默认）  - https       |
| ErrorDocument                     ||| Object                                                                      | 可选     | 错误页面配置。                                                                                                                                                                                                                            |
| - | Key                            || String                                                                      | 可选     | 指定当4XX错误出现时返回的页面。                                                                                                                                                                                                                  |
| IndexDocument                     ||| Object                                                                      | 可选     | 默认页面配置。                                                                                                                                                                                                                            |
| - | Suffix                         || String                                                                      | 必选     | 该字段被追加在对文件夹的请求的末尾（例如：配置的是"index.html"，请求的是"samplebucket/images/"，返回的数据将是"samplebucket"桶内名为"images/index.html"的对象的内容）。该字段不能为空或者包含"/"字符。                                                                                             |
| RoutingRules                      ||| Array                                                                       | 可选     | 重定向规则列表。                                                                                                                                                                                                                           |
| - | Condition                      || Object                                                                      | 可选     | 重定向规则的匹配条件。                                                                                                                                                                                                                        |
| - | - | HttpErrorCodeReturnedEquals | String                                                                      | 可选     | 重定向规则生效需要匹配的HTTP错误码。                                                                                                                                                                                                               |
| - | - | KeyPrefixEquals             | String                                                                      | 可选     | 重定向规则生效需要匹配的对象名前缀。                                                                                                                                                                                                                 |
| - | Redirect                       || Object                                                                      | 必选     | 重定向请求时的具体信息。                                                                                                                                                                                                                       |
| - | - | Protocol                    | String                                                                      | 可选     | 重定向请求时使用的协议，支持的值： - http  - https   |
| - | - | HostName                    | String                                                                      | 可选     | 重定向请求时使用的站点名。                                                                                                                                                                                                                      |
| - | - | ReplaceKeyPrefixWith        | String                                                                      | 可选     | 重定向请求时使用的对象名前缀。                                                                                                                                                                                                                    |
| - | - | ReplaceKeyWith              | String                                                                      | 可选     | 重定向请求时使用的对象名。不可与ReplaceKeyPrefixWith同时存在。                                                                                                                                                                                          |
| - | - | HttpRedirectCode            | String                                                                      | 可选     | 重定向请求时响应中的HTTP状态码。                                                                                                                                                                                                                 |
   
![](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/public_sys-resources/note_3.0-zh-cn.png)
- ErrorDocument、IndexDocument和RoutingRules必须配套使用，且与RedirectAllRequestsTo互斥。当设置了这三个字段时，不能设置RedirectAllRequestsTo；反之，当设置了RedirectAllRequestsTo时，不能设置ErrorDocument、IndexDocument和RoutingRules。
- 当ErrorDocument、IndexDocument和RoutingRules三个字段一起使用时，RoutingRules可为空。
- ErrorDocument、IndexDocument、RoutingRules与RedirectAllRequestsTo不能全为空。
 
#### 返回结果（InterfaceResult）
| **字段名**   | **类型** | **说明**         |
|:---|:---|:---|
| RequestId | String | OBS服务端返回的请求ID。 |
   
#### 代码样例
```
obsClient.setBucketWebsite({
       Bucket : 'bucketname',
//     RedirectAllRequestsTo : {HostName : 'www.example.com', Protocol : 'https'}
       IndexDocument:{Suffix:'index.html'},
       ErrorDocument:{Key:'error.html'},
       RoutingRules:[
           {Condition:{HttpErrorCodeReturnedEquals:'404'},Redirect:{Protocol:'http',ReplaceKeyWith:'NotFound.html'}},
           {Condition:{HttpErrorCodeReturnedEquals:'404'},Redirect:{Protocol:'https',ReplaceKeyWith:'test.html'}}
       ]
},function (err, result) {
       if(err){
              console.error('Error-->' + err);
       }else{
              if(result.CommonMsg.Status < 300){
                     console.log('RequestId-->' + result.InterfaceResult.RequestId);
              }else{
                     console.log('Code-->' + result.CommonMsg.Code);
                     console.log('Message-->' + result.CommonMsg.Message);
              }
       }
});
```
