控制台指南

最佳实践

开发者指南

API 文档

SDK 文档

静态网站

最近更新时间:2021-11-18 11:59:47

本文档提供关于静态网站的 API 概览以及 SDK 示例代码。

API 操作名 操作描述
PUT Bucket website 设置静态网站 设置存储桶的静态网站配置
GET Bucket website 查询静态网站配置 查询存储桶的静态网站配置
DELETE Bucket website 删除静态网站配置 删除存储桶的静态网站配置

设置静态网站

功能说明

PUT Bucket website 用于为存储桶配置静态网站。

方法原型

public Guzzle\Service\Resource\Model PutBucketWebsite(array $args = array());

请求示例

<?php

require dirname(__FILE__) . '/../vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\Cos\Client(
    array(
        'region' => $region,
        'schema' => 'https', //协议头部,默认为http
        'credentials'=> array(
            'secretId'  => $secretId ,
            'secretKey' => $secretKey)));

try {
    $result = $cosClient->putBucketWebsite(array(
        'Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
        'IndexDocument' => array(
            'Suffix' => 'index.html',
        ),
        'RedirectAllRequestsTo' => array(
            'Protocol' => 'https',
        ),
        'ErrorDocument' => array(
            'Key' => 'Error.html',
        ),
        'RoutingRules' => array(
            array(
                'Condition' => array(
                    'HttpErrorCodeReturnedEquals' => '405',
                ),
                'Redirect' => array(
                    'Protocol' => 'https',
                    'ReplaceKeyWith' => '404.html',
                ),
            ),  
            // ... repeated
        ),  
    )); 
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo "$e\n";
}

参数说明

参数名称 父节点 描述 类型 是否必选
Bucket 设置静态网站的存储桶,格式为 BucketName-APPID ,详情请参见 命名规范 String
IndexDocument 索引文档 Array
Suffix IndexDocument 指定索引文档 String
ErrorDocument 错误文档 Array
Key ErrorDocument 指定通用错误返回 String
RedirectAllRequestsTo 重定向所有请求 Array
Protocol RedirectAllRequestsTo 指定全站重定向的协议,只能设置为 https String
RoutingRules 设置重定向规则,最多设置100条 RoutingRule Array
RoutingRule RoutingRules 设置单条重定向规则,包括前缀匹配重定向和错误码重定向 Array
Condition RoutingRule 指定重定向发生的条件,前缀匹配重定向和错误码重定向只能指定一个 Array
HttpErrorCodeReturnedEquals Condition 指定重定向错误码,只支持配置4XX返回码,优先级高于 ErrorDocument Interger
KeyPrefixEquals Condition 指定前缀重定向的路径,替换指定的 folder/ String
Redirect RoutingRule 指定满足重定向 conditon 时重定向的具体替换规则 Array
ReplaceKeyWith Redirect 替换整个 Key 为指定的内容 String
ReplaceKeyPrefixWith Redirect 替换匹配到的前缀为指定的内容,Conditon 为 KeyPrefixEquals 才可设置 String

查询静态网站配置

功能说明

GET Bucket website 用于查询与存储桶关联的静态网站配置信息。

方法原型

public Guzzle\Service\Resource\Model GetBucketWebsite(array $args = array());

请求示例

<?php

require dirname(__FILE__) . '/../vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\Cos\Client(
    array(
        'region' => $region,
        'schema' => 'https', //协议头部,默认为http
        'credentials'=> array(
            'secretId'  => $secretId ,
            'secretKey' => $secretKey)));

try {
    $result = $cosClient->getBucketWebsite(array(
        'Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
    )); 
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo "$e\n";
}

参数说明

参数名称 描述 类型
bucket 查询静态网站配置的存储桶,格式为 BucketName-APPID,详情请参见 命名规范 String

返回结果示例

GuzzleHttp\Command\Result Object
(
    [RedirectAllRequestsTo] => Array
        (
            [Protocol] => https
        )

    [IndexDocument] => Array
        (
            [Suffix] => index.html
        )

    [ErrorDocument] => Array
        (
            [Key] => Error.html
        )

    [RoutingRules] => Array
        (
            [0] => Array
                (
                    [Condition] => Array
                        (
                            [HttpErrorCodeReturnedEquals] => 405
                        )

                    [Redirect] => Array
                        (
                            [Protocol] => https
                            [ReplaceKeyWith] => 404.html
                        )

                )

        )
    [RequestId] => NWRmMzQ3YjlfMTlhYTk0MGFfNzMzYl84YWIy****
)

返回结果说明

参数名称 描述 类型
Bucket 存储桶名称格式为 BucketName-APPID ,详情请参见 命名规范 String
IndexDocument 索引文档 Array
Suffix 指定索引文档 String
ErrorDocument 错误文档 Array
Key 指定通用错误返回 String
RedirectAllRequestsTo 重定向所有请求 Array
Protocol 指定全站重定向的协议,只能设置为 https String
RoutingRules 设置重定向规则,最多设置100条 RoutingRule Array
RoutingRule 设置单条重定向规则,包括前缀匹配重定向和错误码重定向 Array
Condition 指定重定向发生的条件,前缀匹配重定向和错误码重定向只能指定一个 Array
HttpErrorCodeReturnedEquals 指定重定向错误码,只支持配置4XX返回码,优先级高于 ErrorDocument Interger
KeyPrefixEquals 指定前缀重定向的路径,替换指定的 folder/ String
Redirect 指定满足重定向 conditon 时重定向的具体替换规则 Array
ReplaceKeyWith 替换整个 Key 为指定的内容 String
ReplaceKeyPrefixWith 替换匹配到的前缀为指定的内容,Conditon 为 KeyPrefixEquals 才可设置 String

删除静态网站配置

功能说明

DELETE Bucket website 用于删除存储桶中的静态网站配置。

方法原型

public Guzzle\Service\Resource\Model DeleteBucketWebsite(array $args = array());

请求示例

<?php

require dirname(__FILE__) . '/../vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\Cos\Client(
    array(
        'region' => $region,
        'schema' => 'https', //协议头部,默认为http
        'credentials'=> array(
            'secretId'  => $secretId ,
            'secretKey' => $secretKey)));

try {
    $result = $cosClient->deleteBucketWebsite(array(
        'Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
    )); 
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo "$e\n";
}

参数说明

参数名称 描述 类型
bucket 被删除静态网站配置的存储桶,格式为 BucketName-APPID ,详情请参见 命名规范 String
目录