すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:GetBucketWebsite

最終更新日:Feb 28, 2025

バケットに対して構成されている静的 Web サイトホスティングの状態とリダイレクトルールを照会します。

注記

GetBucketWebsite 操作を呼び出して、バケットに構成されている静的 Web サイトホスティングの状態とリダイレクトルールを照会するには、oss:GetBucketWebsite 権限が必要です。詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。

リクエスト構造

GET /?website HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue

リクエストヘッダー

GetBucketWebsite リクエストには、共通のリクエストヘッダーのみが含まれています。詳細については、「共通リクエストヘッダー」をご参照ください。

レスポンスヘッダー

GetBucketWebsite リクエストへのレスポンスには、共通のレスポンスヘッダーのみが含まれています。詳細については、「共通レスポンスヘッダー」をご参照ください。

レスポンス要素

  • 次の表に、GetBucketWebsite リクエストへのレスポンスにおける WebsiteConfiguration 要素について説明します。

    要素

    タイプ

    説明

    WebsiteConfiguration

    コンテナー

    該当なし

    ルートノード。

    親ノード: なし

  • 次の表に、GetBucketWebsite リクエストへのレスポンスにおける IndexDocument の要素について説明します。

    要素

    タイプ

    説明

    IndexDocument

    コンテナー

    該当なし

    デフォルトのホームページを格納するために使用されるコンテナー。

    親ノード: WebsiteConfiguration

    Suffix

    文字列

    index.html

    デフォルトのホームページ。

    親ノード: IndexDocument

  • 次の表に、GetBucketWebsite リクエストへのレスポンスにおける ErrorDocument の要素について説明します。

    要素

    タイプ

    説明

    ErrorDocument

    コンテナー

    該当なし

    エラーページを格納するために使用されるコンテナー。

    親ノード: WebsiteConfiguration

    Key

    文字列

    error.html

    エラーページ。

    親ノード: ErrorDocument

    HttpStatus

    文字列

    404

    エラーページとともに返される HTTP ステータスコード。

    親ノード: ErrorDocument

  • 次の表に、GetBucketWebsite リクエストへのレスポンスにおける RoutingRules、RoutingRule、および RuleNumber の要素について説明します。

    要素

    タイプ

    説明

    RoutingRules

    コンテナー

    該当なし

    RoutingRule を格納するために使用されるコンテナー。

    親ノード: WebsiteConfiguration

    RoutingRule

    コンテナー

    該当なし

    リダイレクトルールまたはミラーリングベースの原点復帰ルール。

    親ノード: RoutingRules

    RuleNumber

    正の整数

    1

    リダイレクトルールまたはミラーリングベースの原点復帰ルールを照合して実行するために使用されるシーケンス番号。

    リダイレクトルールはこの要素に基づいて照合されます。一致に成功した場合、そのルールのみが実行され、後続のルールは実行されません。

    親ノード: RoutingRule

  • 次の表に、GetBucketWebsite リクエストへのレスポンスにおける RoutingRules、RoutingRule、および Condition の要素について説明します。

    要素

    タイプ

    説明

    Condition

    コンテナー

    該当なし

    一致条件。指定されたすべての条件が満たされた場合にのみ、ルールが実行されます。

    親ノード: RoutingRule

    KeyPrefixEquals

    文字列

    abc

    オブジェクト名のプレフィックス。名前に指定されたプレフィックスが含まれているオブジェクトのみがルールに一致します。

    親ノード: Condition

    HttpErrorCodeReturnedEquals

    HTTP ステータスコード

    404

    返される HTTP ステータスコード。指定されたオブジェクトにアクセスし、指定されたステータスコードが返された場合にのみ、ルールが一致します。リダイレクトルールがミラーリングベースの原点復帰ルールの場合、この要素の値は 404 です。

    親ノード: Condition

    IncludeHeader

    コンテナー

    該当なし

    リクエストで指定されたヘッダー。指定されたヘッダーがリクエストに含まれており、ヘッダー値が指定された値と等しい場合にのみ、ルールが一致します。最大 5 つの IncludeHeader コンテナーを指定できます。

    親ノード: IncludeHeader

    Key

    文字列

    host

    ヘッダーのキー。指定されたヘッダーがリクエストに含まれており、ヘッダー値が Equals で指定された値と等しい場合にのみ、ルールが一致します。

    親ノード: IncludeHeader

    Equals

    文字列

    test.oss-cn-beijing-internal.aliyuncs.com

    ヘッダーの値。Key で指定されたヘッダーがリクエストに含まれており、ヘッダー値が指定された値と等しい場合にのみ、ルールが一致します。

    親ノード: IncludeHeader

  • 次の表に、GetBucketWebsite リクエストへのレスポンスにおける RoutingRules、RoutingRule、および Redirect の要素について説明します。

    要素

    タイプ

    説明

    Redirect

    コンテナー

    該当なし

    ルールが一致した後に実行される操作。

    親ノード: RoutingRule

    RedirectType

    文字列

    Mirror

    リダイレクトタイプ。

    • Mirror: ミラーリングベースの原点復帰。

    • External: 外部リダイレクト。Object Storage Service (OSS) は 3xx HTTP リダイレクトコードと Location ヘッダーを返して、アクセスを別の IP アドレスにリダイレクトします。

    • AliCDN: Alibaba Cloud Content Delivery Network (CDN) に基づくリダイレクト。OSS はリクエストに追加のヘッダーを追加します。これは External タイプとは異なります。CDN はヘッダーを識別した後、アクセスを指定された IP アドレスにリダイレクトし、リダイレクトリクエストの代わりに取得したデータをユーザーに返します。

    親ノード: Redirect

    PassQueryString

    ブール値

    false

    システムがリダイレクトルールまたはミラーリングベースの原点復帰ルールを実行するときに、元のリクエストのリクエストパラメーターをリダイレクトリクエストに含めるかどうかを示します。

    PassQueryString パラメーターが true に設定されており、"?a=b&c=d" が OSS に送信されたリクエストに含まれている場合、リダイレクトモードが 302 のときにこのパラメーターが Location ヘッダーに追加されます。たとえば、リクエストに "Location: www.example.com?a=b&c=d" が含まれており、RedirectType の値が Mirror の場合、a=b&c=d パラメーターが原点復帰リクエストに含まれます。

    デフォルト値: false

    親ノード: Redirect

    MirrorURL

    文字列

    http://example.com

    ミラーリングベースの原点復帰のソース URL。この要素は、RedirectType の値が Mirror の場合にのみ有効になります。

    ソース URL は http:// または https:// で始まり、スラッシュ (/) で終わる必要があります。OSS は URL の末尾にオブジェクト名を追加して、原点復帰 URL を生成します。

    たとえば、アクセスするオブジェクトの名前が myobject であるとします。MirrorURL が http://example.com/ に設定されている場合、原点復帰 URL は http://example.com/myobject になります。MirrorURL が http://example.com/dir1/ に設定されている場合、原点復帰 URL は http://example.com/dir1/myobject になります。

    親ノード: Redirect

    MirrorPassQueryString

    ブール値

    false

    この要素は PassQueryString と同じ役割を果たし、PassQueryString よりも優先順位が高くなります。この要素は、RedirectType の値が Mirror の場合にのみ有効になります。

    デフォルト値: false

    親ノード: Redirect

    MirrorFollowRedirect

    ブール値

    true

    原点が 3xx HTTP ステータスコードを返した場合に、アクセスを Location で指定されたアドレスにリダイレクトするかどうかを示します。この要素は、RedirectType の値が Mirror の場合にのみ有効になります。

    たとえば、ミラーリングベースの原点復帰リクエストが開始されたときに、原点が 302 を返し、Location が指定されているとします。

    • true: OSS は Location で指定されたアドレスへのリクエストを続行します。

      アクセスは最大 10 回リダイレクトできます。10 回を超えると、エラーメッセージが返されます。

    • false: OSS は 302 を返し、Location をパススルーします。

    デフォルト値: true

    親ノード: Redirect

    MirrorCheckMd5

    ブール値

    false

    OSS が原点から返されたレスポンスの本文の MD5 ハッシュをチェックするかどうかを示します。この要素は、RedirectType の値が Mirror の場合にのみ有効になります。

    このパラメーターの値が true で、原点から返されたレスポンスに Content-Md5 ヘッダーが含まれている場合、OSS は取得したデータの MD5 ハッシュがヘッダー値と一致するかどうかをチェックします。取得したデータの MD5 ハッシュがヘッダー値と一致しない場合、OSS はデータを保存しません。

    デフォルト値: false

    親ノード: Redirect

    MirrorHeaders

    コンテナー

    該当なし

    バケットにミラーリングベースの原点復帰ルールが指定されている場合に含まれるヘッダー。この要素は、RedirectType の値が Mirror の場合にのみ有効になります。

    親ノード: Redirect

    PassAll

    ブール値

    true

    OSS がすべてのリクエストヘッダーを原点にパススルーするかどうかを示します。リクエストヘッダーには、予約済みヘッダーと、oss-、x-oss-、および x-drs- で始まるヘッダーは含まれません。この要素は、RedirectType の値が Mirror の場合にのみ有効になります。

    デフォルト値: false

    親ノード: MirrorHeaders

    Pass

    文字列

    myheader-key1

    原点にパススルーするヘッダー。この要素は、RedirectType の値が Mirror の場合にのみ有効になります。

    ヘッダーの長さは最大 1,024 バイトで、文字、数字、およびハイフン (-) のみを含めることができます。

    最大 10 個の Pass ヘッダーを指定できます。

    親ノード: MirrorHeaders

    Remove

    文字列

    myheader-key3

    原点へのパススルーが許可されていないヘッダー。最大 10 個の Remove ヘッダーを指定できます。この要素は PassAll とともに使用されます。ヘッダーの長さは最大 1,024 バイトです。このパラメーターの文字セットは Pass と同じです。この要素は、RedirectType の値が Mirror の場合にのみ有効になります。

    親ノード: MirrorHeaders

    Set

    コンテナー

    該当なし

    原点に送信されるヘッダーを示します。指定されたヘッダーは、リクエストにヘッダーが含まれているかどうかに関係なく、原点から返されたデータで構成されます。最大 10 個の Set コンテナーを指定できます。この要素は、RedirectType の値が Mirror の場合にのみ有効になります。

    親ノード: MirrorHeaders

    Key

    文字列

    myheader-key5

    ヘッダーのキー。キーの長さは最大 1,024 バイトです。このパラメーターの文字セットは Pass と同じです。この要素は、RedirectType の値が Mirror の場合にのみ有効になります。

    親ノード: Set

    Value

    文字列

    myheader-value5

    ヘッダーの値。値の長さは最大 1,024 バイトで、"\r\n" を含めることはできません。この要素は、RedirectType の値が Mirror の場合にのみ有効になります。

    親ノード: Set

    Protocol

    文字列

    http

    アクセスをリダイレクトするために使用されるプロトコル。この要素は、RedirectType の値が External または AliCDN の場合にのみ有効になります。

    たとえば、test という名前のオブジェクトにアクセスし、Protocol が https に設定されており、Hostname が example.com に設定されている場合、Location ヘッダー値は https://example.com/test になります。

    有効な値: http および https

    親ノード: Redirect

    HostName

    文字列

    example.com

    リダイレクトに使用されるドメイン名。ドメイン名の命名規則に準拠している必要があります。この要素は、RedirectType の値が External または AliCDN の場合にのみ有効になります。

    たとえば、test という名前のオブジェクトにアクセスし、Protocol が https に設定されており、Hostname が example.com に設定されている場合、Location ヘッダーは https://www.example.com/test になります。

    親ノード: Redirect

    HttpRedirectCode

    HTTP ステータスコード

    301

    レスポンスの HTTP リダイレクトコード。この要素は、RedirectType の値が External または AliCDN の場合にのみ有効になります。

    有効な値: 301、302、および 307

    親ノード: Redirect

    ReplaceKeyPrefixWith

    文字列

    def/

    リダイレクトリクエストでオブジェクト名のプレフィックスを置き換えるために使用される文字列。この要素は、RedirectType の値が External または AliCDN の場合にのみ有効になります。

    たとえば、abc/test.txt という名前のオブジェクトにアクセスし、ReplaceKeyPrefixWith が def/ に設定されている場合、Location ヘッダーの値は KeyPrefixEquals の値が空かどうかによって異なります。

    • KeyPrefixEquals の値が abc/ に設定されている場合、Location ヘッダー値は http://example.com/def/test.txt になります。

    • KeyPrefixEquals が空の場合、Location ヘッダー値は http://example.com/def/abc/test.txt になります。

    親ノード: Redirect

    ReplaceKeyWith

    文字列

    prefix/${key}.suffix

    リダイレクトリクエストでオブジェクト名を置き換えるために使用される文字列。この要素は、RedirectType の値が External または AliCDN の場合にのみ有効になります。

    この要素は ${key} 変数をサポートしています。これはリクエストのオブジェクト名を示します。たとえば、test という名前のオブジェクトにアクセスし、ReplaceKeyWith が prefix/${key}.suffix に設定されている場合、Location ヘッダー値は http://example.com/prefix/test.suffix になります。

    親ノード: Redirect

サンプルリクエスト

Get /?website HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com   
Date: Thu, 13 Sep 2012 07:51:28 GMT
Authorization: OSS qn6q**************:77Dv****************         

サンプルレスポンス

  • 静的 Web サイトホスティングルールが構成されている場合のサンプルレスポンス

    HTTP/1.1 200
    x-oss-request-id: 534B371674E88A4D8906008B
    Date: Thu, 13 Sep 2012 07:51:28 GMT
    Connection: keep-alive
    Content-Length: 218  
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <WebsiteConfiguration xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com">
    <IndexDocument>
    <Suffix>index.html</Suffix>
        </IndexDocument>
        <ErrorDocument>
           <Key>error.html</Key>
           <HttpStatus>404</HttpStatus>
        </ErrorDocument>
    </WebsiteConfiguration>
  • 静的 Web サイトホスティングルールが構成されていない場合のサンプルレスポンス

    HTTP/1.1 404 
    x-oss-request-id: 534B371674E88A4D8906008B
    Date: Thu, 13 Sep 2012 07:56:46 GMT
    Connection: keep-alive
    Content-Length: 308  
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Error xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com">
        <Code>NoSuchWebsiteConfiguration</Code>
        <Message>指定されたバケットには Web サイト構成がありません。</Message>
        <BucketName>oss-example</BucketName>
        <RequestId>505191BEC4689A033D00236F</RequestId>
        <HostId>oss-example.oss-cn-hangzhou.aliyuncs.com</HostId>
    </Error>

完全なサンプルレスポンス

GET /?website HTTP/1.1
Date: Fri, 27 Jul 2018 09:07:41 GMT
Host: test.oss-cn-hangzhou-internal.aliyuncs.com
Authorization: OSS qn6q**************:77Dv****************
User-Agent: aliyun-sdk-python-test/0.4.0


<?xml version="1.0" encoding="UTF-8"?>
<WebsiteConfiguration>
  <IndexDocument>
    <Suffix>index.html</Suffix>
  </IndexDocument>
  <ErrorDocument>
    <Key>error.html</Key>
    <HttpStatus>404</HttpStatus>
  </ErrorDocument>
  <RoutingRules>
    <RoutingRule>
      <RuleNumber>1</RuleNumber>
      <Condition>
        <KeyPrefixEquals>abc/</KeyPrefixEquals>
        <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
      </Condition>
      <Redirect>
        <RedirectType>Mirror</RedirectType>
        <PassQueryString>true</PassQueryString>
        <MirrorURL>http://example.com/</MirrorURL>  
        <MirrorPassQueryString>true</MirrorPassQueryString>
        <MirrorFollowRedirect>true</MirrorFollowRedirect>
        <MirrorCheckMd5>false</MirrorCheckMd5>
        <MirrorHeaders>
          <PassAll>true</PassAll>
          <Pass>myheader-key1</Pass>
          <Pass>myheader-key2</Pass>
          <Remove>myheader-key3</Remove>
          <Remove>myheader-key4</Remove>
          <Set>
            <Key>myheader-key5</Key>
            <Value>myheader-value5</Value>
          </Set>
        </MirrorHeaders>
      </Redirect>
    </RoutingRule>
    <RoutingRule>
      <RuleNumber>2</RuleNumber>
      <Condition>
        <IncludeHeader>
          <Key>host</Key>
          <Equals>test.oss-cn-beijing-internal.aliyuncs.com</Equals>
        </IncludeHeader>
        <KeyPrefixEquals>abc/</KeyPrefixEquals>
        <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
      </Condition>
      <Redirect>
        <RedirectType>AliCDN</RedirectType>
        <Protocol>http</Protocol>
        <HostName>example.com</HostName>
        <PassQueryString>false</PassQueryString>
        <ReplaceKeyWith>prefix/${key}.suffix</ReplaceKeyWith>
        <HttpRedirectCode>301</HttpRedirectCode>
      </Redirect>
    </RoutingRule>
  </RoutingRules>
</WebsiteConfiguration>

HTTP/1.1 200 OK
Server: AliyunOSS
Date: Fri, 27 Jul 2018 09:07:41 GMT
Content-Type: application/xml
Content-Length: 2102
Connection: keep-alive
x-oss-request-id: 5B5AE0DD2F7938C45FCED4BA
x-oss-server-time: 47

OSS SDK

以下のプログラミング言語の OSS SDK を使用して、GetBucketWebsite 操作を呼び出すことができます。

ossutil

GetBucketWebsite 操作に対応する ossutil コマンドについては、「get-bucket-website」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

NoSuchBucket

404

このようなバケットが見つからないために返されるエラーメッセージ。

AccessDenied

403

この操作を実行する権限がないために返されるエラーメッセージ。バケット所有者のみが、バケットの静的 Web サイトホスティングの状態構成を照会できます。

NoSuchWebsiteConfiguration

404

指定されたバケットに静的 Web サイトホスティングが構成されていないために返されるエラーメッセージ。