設置靜態網站托管
更新時間 2025-06-17 09:23:42
最近更新時間: 2025-06-17 09:23:42
分享文章
接口介紹
此接口用于開啟桶靜態網站托管配置,主要用于設置默認主頁、默認404頁和RoutingRule。RoutingRule用來指定3xx跳轉規則以及鏡像回源規則。(該接口已下線)
接口約束
- 該接口主要用于設置默認主頁、默認404頁和RoutingRule。RoutingRule用來指定3xx跳轉規則以及鏡像回源規則。
- 將一個Bucket設置為靜態網站托管模式時,如果指定了索引頁面或錯誤頁面,則指定的索引頁面和錯誤頁面為該Bucket內的某個Object。
- 將一個Bucket設置為靜態網站托管模式后,對靜態網站根域名的匿名訪問,將返回索引頁面。
請求URI
PUT /v1/website/{bucket}
路徑參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 |
|---|---|---|---|---|
| bucket | 是 | String | 桶名稱 | testBucket |
Query參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| website | 是 | String | 固定參數 | website |
請求參數
請求頭header參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| Content-Type | 是 | String | 消息體格式 | application/xml |
請求體body參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| WebsiteConfiguration | 是 | Array of Objects | 靜態網站托管設置根節點 | WebsiteConfiguration |
表 WebsiteConfiguration
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| IndexDocument | 否 | Array of Objects | 設置默認主頁,IndexDocument和RedirectAllRequestsTo二選一,如果同時設置最終只有RedirectAllRequestsTo生效 | IndexDocument | |
| ErrorDocument | 否 | Array of Objects | 設置404頁面的容器 | ErrorDocument | |
| RedirectAllRequestsTo | 否 | Array of Objects | 對此桶的網站端點的每個請求的重定向行為,IndexDocument和RedirectAllRequestsTo二選一,如果同時設置最終只有RedirectAllRequestsTo生效 | RedirectAllRequestsTo | |
| RoutingRules | 否 | Array of Objects | 路由規則配置,設置時必須配置IndexDocument | RoutingRules |
表 IndexDocument
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| Suffix | 否 | String | 默認主頁,設置默認主頁后,如果訪問以正斜線(/)結尾的Object,則都會返回此默認主頁,如果存在IndexDocument,則必須指定該項 | aa.html |
表 ErrorDocument
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| Key | 否 | String | 錯誤頁面,指定錯誤頁面后,如果訪問的Object不存在,則返回此錯誤頁面 | bb.html |
表 RedirectAllRequestsTo
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| HostName | 否 | String | 請求重定向的主機名,果存在RedirectAllRequestsTo,則必須指定該項 | ||
| Protocol | 否 | String | 重定向請求時使用的協議。默認是原始請求中使用的協議 |
表 RoutingRules
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| RoutingRule | 否 | Array of Objects | 路由規則具體配置 | RoutingRule |
表 RoutingRule
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| Condition | 否 | Array of Objects | 用于描述應用指定重定向必須滿足的條件 | Condition | |
| Redirect | 否 | Array of Objects | 容器用于重定向信息,可以將請求重定向到另一個主機、另一個頁面或使用另一種協議,在發生錯誤時,可以指定要返回的不同錯誤代碼 | Redirect |
表 Condition
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| KeyPrefixEquals | 否 | String | 只有匹配此前綴的Object才能匹配此規則 | /docs | |
| HttpErrorCodeReturnedEquals | 否 | String | 應用重定向時的HTTP錯誤代碼,在發生錯誤時,如果錯誤代碼等于此值,則應用指定的重定向。當Condition被指定且元素KeyPrefixEquals未被指定時需要。如果兩者都指定了,那么要應用重定向,兩者都必須為真 | 403 |
表 Redirect
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| HostName | 否 | String | 跳轉時的域名,域名需符合域名規范 | ||
| HttpRedirectCode | 否 | String | 跳轉時返回的狀態碼 | 301,302 | |
| Protocol | 否 | String | 跳轉時的協議 | http,https | |
| ReplaceKeyPrefixWith | 否 | String | Redirect時Object名稱的前綴將替換成該值。如果前綴為空,則將這個字符串插入Object名稱的前面 | ||
| ReplaceKeyWith | 否 | String | Redirect時Object名稱將替換成ReplaceKeyWith指定的值,ReplaceKeyWith支持設置變量 |
響應參數
無
請求示例
PUT /v1/website/testbucket?website
請求頭header
Content-Type: application/xml
請求體body
<?xml version="1.0" encoding="UTF-8"?>
<WebsiteConfiguration xmlns="//s3.amazonaws.com/doc/2006-03-01/">
<IndexDocument>
<Suffix>aa.html</Suffix>
</IndexDocument>
<ErrorDocument>
<Key>bb.html</Key>
</ErrorDocument>
<RoutingRules>
<RoutingRule>
<Condition>
<KeyPrefixEquals>docs/</KeyPrefixEquals>
<HttpErrorCodeReturnedEquals>403</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<Protocol>http</Protocol>
<HostName>test11.sink.example.1cn</HostName>
<HttpRedirectCode>302</HttpRedirectCode>
<ReplaceKeyPrefixWith>documents/</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
</RoutingRules>
</WebsiteConfiguration>
響應示例
HTTP/1.1 200 OK
x-amz-request-id: tx000000000000000000274-00632298b2-3b9ae-default
Date: Wed, 06 Sep 2017 12:00:00 GMT
狀態碼
| HTTP狀態 | 描述 |
|---|---|
| 200 | 操作成功 |
| 400 | 桶的名字不合法 |
| 403 | 用戶沒有權限執行操作 |
| 405 | 服務器不支持當前操作 |