PutBucketWebsite介面用於將一個bucket設定成靜態網站託管模式。
請求文法
PUT /?website HTTP/1.1
Date: GMT Date
Content-Length:ContentLength
Content-Type: application/xml
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<WebsiteConfiguration>
<IndexDocument>
<Suffix>index.html</Suffix>
</IndexDocument>
<ErrorDocument>
<Key>errorDocument.html</Key>
</ErrorDocument>
</WebsiteConfiguration>
請求元素(Request Elements)
名稱 | 類型 | 描述 | 是否必須 |
---|---|---|---|
ErrorDocument | 容器 | 子項目Key的父元素 父元素: WebsiteConfiguration |
否 |
IndexDocument | 容器 | 子項目Suffix的父元素. 父元素: WebsiteConfiguration |
是 |
Key | 字元串 | 返回404錯誤時使用的檔案名 父元素: WebsiteConfiguration.ErrorDocument 有條件:當ErrorDocument設定時,必需 |
有條件 |
Suffix | 字元串 | 返回目錄URL時添加的索引檔案名,不要為空,也不要包含"/"。例如索引檔案設定為index.html,則訪問:oss-cn-hangzhou.aliyuncs.com/mybucket/mydir/這樣請求的時候預設都相當於訪問oss-cn-hangzhou.aliyuncs.com/mybucket/index.html 父元素: WebsiteConfiguration.IndexDocument |
是 |
WebsiteConfiguration | 容器 | 請求的容器 父元素: 無 |
是 |
細節分析
- 所謂靜態網站是指所有的網頁都由靜態內容構成,包括客戶端執行的指令碼或直譯式程式,例如JavaScript;OSS不支援涉及到需要伺服器端處理的內容,例如PHP,JSP,APS.NET等。
- 如果你想使用自己的網域名稱來訪問基於bucket的靜態網站,可以通過網域名稱CNAME來實現。具體配置方法請參見綁定自訂網域名。
- 用戶將一個bucket設定成靜態網站託管模式時,必須指定索引頁面,錯誤頁面則是可選的。
- 用戶將一個bucket設定成靜態網站託管模式時,指定的索引頁面和錯誤頁面是該bucket內的一個object。
- 在將一個bucket設定成靜態網站託管模式後,對靜態網站根網域名稱的匿名訪問,OSS將返回索引頁面;對靜態網站根網域名稱的簽名訪問,OSS將返回Get Bucket結果。
- 如果用戶上傳了Content-MD5要求標頭,OSS會計算body的Content-MD5並檢查一致性,如果不一致,將返回InvalidDigest錯誤碼。
樣本
請求樣本:
PUT /?website HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Content-Length: 209
Date: Fri, 04 May 2012 03:21:12 GMT
Authorization: OSS qn6qrr******wuk53otfjbyc:KU5h8Y******30dXqf3JxrTZHiA=
<?xml version="1.0" encoding="UTF-8"?>
<WebsiteConfiguration>
<IndexDocument>
<Suffix>index.html</Suffix>
</IndexDocument>
<ErrorDocument>
<Key>error.html</Key>
</ErrorDocument>
</WebsiteConfiguration>
返回樣本:
HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906008B
Date: Fri, 04 May 2012 03:21:12 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS