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