Tous les produits
Search
Centre de documentation

Object Storage Service:put-bucket-website

Dernière mise à jour :Sep 22, 2026

Active l'hébergement de site web statique et configure les règles de redirection pour un bucket.

Notes d'utilisation

  • Par défaut, un compte Alibaba Cloud dispose des autorisations nécessaires pour activer l'hébergement de site web statique et configurer les règles de redirection pour un bucket. Pour effectuer ces opérations avec un utilisateur RAM ou le Security Token Service (STS), vous devez disposer de l'autorisation oss:PutBucketWebsite. Pour plus d'informations, consultez la rubrique Attacher une stratégie personnalisée à un utilisateur RAM.

  • Avant d'activer l'hébergement de site web statique, assurez-vous de bien comprendre cette fonctionnalité. Pour plus d'informations, consultez la rubrique Présentation de l'hébergement de site web statique.

Syntaxe de la commande

ossutil api put-bucket-website --bucket value --website-configuration value [flags]

Paramètre

Type

Description

--bucket

string

Nom du bucket.

--website-configuration

string

Nœud racine de la configuration du site web.

Remarque

La commande put-bucket-website correspond à l'opération PutBucketWebsite. Pour plus d'informations sur les paramètres de l'opération PutBucketWebsite, consultez la rubrique PutBucketWebsite.

--website-configuration

L'option --website-configuration prend en charge les formats XML et JSON. Si la valeur de l'option contient le préfixe file://, ossutil lit la configuration depuis un fichier.

  • Format XML :

    <WebsiteConfiguration>
      <IndexDocument>
        <Suffix>string</Suffix>
        <SupportSubDir>boolean</SupportSubDir>
        <Type>string</Type>
      </IndexDocument>
      <ErrorDocument>
        <Key>string</Key>
        <HttpStatus>string</HttpStatus>
      </ErrorDocument>
      <RoutingRules>
        <RoutingRule>
          <RuleNumber>integer</RuleNumber>
          <Condition>
            <KeyPrefixEquals>string</KeyPrefixEquals>
            <HttpErrorCodeReturnedEquals>integer</HttpErrorCodeReturnedEquals>
          </Condition>
          <Redirect>
            <HttpRedirectCode>integer</HttpRedirectCode>
            <RedirectType>string</RedirectType>
            <MirrorPassQueryString>boolean</MirrorPassQueryString>
            <MirrorFollowRedirect>boolean</MirrorFollowRedirect>
            <MirrorHeaders>
              <PassAll>boolean</PassAll>
              <Pass>string</Pass>
              ...
              <Remove>string</Remove>
              ...
              <Set>
                <Value>string</Value>
                <Key>string</Key>
              </Set>
              ...
            </MirrorHeaders>
            <MirrorURL>string</MirrorURL>
            <EnableReplacePrefix>boolean</EnableReplacePrefix>
            <ReplaceKeyWith>string</ReplaceKeyWith>
            <PassQueryString>boolean</PassQueryString>
            <MirrorCheckMd5>boolean</MirrorCheckMd5>
            <Protocol>string</Protocol>
            <HostName>string</HostName>
            <TransparentMirrorResponseCodes>string</TransparentMirrorResponseCodes>
            <ReplaceKeyPrefixWith>string</ReplaceKeyPrefixWith>
          </Redirect>
        </RoutingRule>
        ...
      </RoutingRules>
    </WebsiteConfiguration>
  • Format JSON :

    {
      "IndexDocument": {
        "Type": "string",
        "Suffix": "string",
        "SupportSubDir": boolean
      },
      "ErrorDocument": {
        "Key": "string",
        "HttpStatus": "string"
      },
      "RoutingRules": {
        "RoutingRule": [
          {
            "RuleNumber": integer,
            "Condition": {
              "HttpErrorCodeReturnedEquals": integer,
              "KeyPrefixEquals": "string"
            },
            "Redirect": {
              "MirrorURL": "string",
              "EnableReplacePrefix": boolean,
              "ReplaceKeyWith": "string",
              "PassQueryString": boolean,
              "MirrorCheckMd5": boolean,
              "Protocol": "string",
              "HostName": "string",
              "TransparentMirrorResponseCodes": "string",
              "ReplaceKeyPrefixWith": "string",
              "HttpRedirectCode": integer,
              "RedirectType": "string",
              "MirrorPassQueryString": boolean,
              "MirrorFollowRedirect": boolean,
              "MirrorHeaders": {
                "PassAll": boolean,
                "Pass": ["string", ...],
                "Remove": ["string", ...],
                "Set": [
                  {
                    "Key": "string",
                    "Value": "string"
                  },
                  ...
                ]
              }
            }
          },
          ...
        ]
      }
    }
Remarque

Pour plus d'informations sur les options de ligne de commande globales prises en charge, consultez la rubrique Options de ligne de commande globales.

Exemples

Les exemples suivants montrent comment activer l'hébergement de site web statique et configurer les règles de redirection pour un bucket nommé examplebucket.

  • Le fichier de configuration XML website-configuration.xml contient les éléments suivants :

    <?xml version="1.0" encoding="UTF-8"?>
    <WebsiteConfiguration>
      <IndexDocument>
        <Suffix>index.html</Suffix>
        <SupportSubDir>true</SupportSubDir>
        <Type>0</Type>
      </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>
            <KeyPrefixEquals>abc/</KeyPrefixEquals>
            <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
            <IncludeHeader>
              <Key>host</Key>
              <Equals>test.oss-cn-beijing-internal.aliyuncs.com</Equals>
            </IncludeHeader>
          </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>
        <RoutingRule>
          <Condition>
            <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
          </Condition>
          <RuleNumber>3</RuleNumber>
          <Redirect>
            <ReplaceKeyWith>prefix/${key}</ReplaceKeyWith>
            <HttpRedirectCode>302</HttpRedirectCode>
            <EnableReplacePrefix>false</EnableReplacePrefix>
            <PassQueryString>false</PassQueryString>
            <Protocol>http</Protocol>
            <HostName>example.com</HostName>
            <RedirectType>External</RedirectType>
          </Redirect>
        </RoutingRule>
      </RoutingRules>
    </WebsiteConfiguration>

Exemple de commande :

ossutil api put-bucket-website --bucket examplebucket --website-configuration file://website-configuration.xml
  • Utilisez un fichier de configuration JSON. Le fichier website-configuration.json contient le contenu suivant :

    {
        "IndexDocument": {
        "Suffix": "index.html",
        "SupportSubDir": "true",
        "Type": "0"
        },
        "ErrorDocument": {
        "Key": "error.html",
        "HttpStatus": "404"
        },
        "RoutingRules": {
        "RoutingRule": [
        {
        "RuleNumber": "1",
        "Condition": {
        "KeyPrefixEquals": "abc/",
        "HttpErrorCodeReturnedEquals": "404"
        },
        "Redirect": {
        "RedirectType": "Mirror",
        "PassQueryString": "true",
        "MirrorURL": "http://example.com/",
        "MirrorPassQueryString": "true",
        "MirrorFollowRedirect": "true",
        "MirrorCheckMd5": "false",
        "MirrorHeaders": {
        "PassAll": "true",
        "Pass": [
        "myheader-key1",
        "myheader-key2"
        ],
        "Remove": [
        "myheader-key3",
        "myheader-key4"
        ],
        "Set": {
        "Key": "myheader-key5",
        "Value": "myheader-value5"
        }
        }
        }
        },
        {
        "RuleNumber": "2",
        "Condition": {
        "KeyPrefixEquals": "abc/",
        "HttpErrorCodeReturnedEquals": "404",
        "IncludeHeader": {
        "Key": "host",
        "Equals": "test.oss-cn-beijing-internal.aliyuncs.com"
        }
        },
        "Redirect": {
        "RedirectType": "AliCDN",
        "Protocol": "http",
        "HostName": "example.com",
        "PassQueryString": "false",
        "ReplaceKeyWith": "prefix/${key}.suffix",
        "HttpRedirectCode": "301"
        }
        },
        {
        "Condition": {
        "HttpErrorCodeReturnedEquals": "404"
        },
        "RuleNumber": "3",
        "Redirect": {
        "ReplaceKeyWith": "prefix/${key}",
        "HttpRedirectCode": "302",
        "EnableReplacePrefix": "false",
        "PassQueryString": "false",
        "Protocol": "http",
        "HostName": "example.com",
        "RedirectType": "External"
        }
        }
        ]
        }
    }
    

    Exemple de commande :

    ossutil api put-bucket-website --bucket examplebucket --website-configuration file://website-configuration.json
  • Configurez les paramètres de la commande suivante au format JSON :

    ossutil api put-bucket-website --bucket examplebucket --website-configuration "{\"IndexDocument\":{\"Suffix\":\"index.html\",\"SupportSubDir\":\"true\",\"Type\":\"0\"},\"ErrorDocument\":{\"Key\":\"error.html\",\"HttpStatus\":\"404\"},\"RoutingRules\":{\"RoutingRule\":[{\"RuleNumber\":\"1\",\"Condition\":{\"KeyPrefixEquals\":\"abc/\",\"HttpErrorCodeReturnedEquals\":\"404\"},\"Redirect\":{\"RedirectType\":\"Mirror\",\"PassQueryString\":\"true\",\"MirrorURL\":\"http://example.com/\",\"MirrorPassQueryString\":\"true\",\"MirrorFollowRedirect\":\"true\",\"MirrorCheckMd5\":\"false\",\"MirrorHeaders\":{\"PassAll\":\"true\",\"Pass\":[\"myheader-key1\",\"myheader-key2\"],\"Remove\":[\"myheader-key3\",\"myheader-key4\"],\"Set\":{\"Key\":\"myheader-key5\",\"Value\":\"myheader-value5\"}}}},{\"RuleNumber\":\"2\",\"Condition\":{\"KeyPrefixEquals\":\"abc/\",\"HttpErrorCodeReturnedEquals\":\"404\",\"IncludeHeader\":{\"Key\":\"host\",\"Equals\":\"test.oss-cn-beijing-internal.aliyuncs.com\"}},\"Redirect\":{\"RedirectType\":\"AliCDN\",\"Protocol\":\"http\",\"HostName\":\"example.com\",\"PassQueryString\":\"false\",\"ReplaceKeyWith\":\"prefix/${key}.suffix\",\"HttpRedirectCode\":\"301\"}},{\"Condition\":{\"HttpErrorCodeReturnedEquals\":\"404\"},\"RuleNumber\":\"3\",\"Redirect\":{\"ReplaceKeyWith\":\"prefix/${key}\",\"HttpRedirectCode\":\"302\",\"EnableReplacePrefix\":\"false\",\"PassQueryString\":\"false\",\"Protocol\":\"http\",\"HostName\":\"example.com\",\"RedirectType\":\"External\"}}]}}"