静态网站是指所有的网页都由静态内容构成,包括客户端执行的脚本(例如JavaScript)。您可以通过静态网站托管功能将您的静态网站托管到OSS的存储空间(Bucket),并使用Bucket的访问域名访问这个网站。

说明 配置静态网站托管的API详细信息,请参见PutBucketWebsite

使用说明

配置静态网站托管时,您需要指定网站的默认首页和默认404页:
  • 默认首页是您通过浏览器访问静态网站域名时,OSS返回的网站首页(相当于网站的index.htm?userCode=wrvvs1rm&zuntopl)。

    您为默认首页指定的文件必须是Bucket根目录下允许被匿名访问的文件,文件格式仅支持HTML。如果您还开通了子目录首页,则子目录下也应存在此文件。

  • 默认404页是您通过浏览器访问Bucket内文件出现404错误时,OSS返回的错误页面。

    您为默认404页指定的文件必须是Bucket根目录下允许被匿名访问的文件,文件格式支持HTML、JPG、PNG、BMP、WebP。

配置静态网站之后,如果您使用Bucket默认域名访问静态网站时,会将静态网站以文件的形式下载到本地。如需确保访问静态网站是预览行为,您必须为Bucket绑定自定义域名,并通过自定义域名访问您的静态网站。绑定自定义域名步骤,请参见绑定自定义域名

配置示例

例如某Bucket的文件结构如下:
Bucket
 ├── index.htm?userCode=wrvvs1rm&zuntopl
 ├── error.htm?userCode=wrvvs1rm&zuntopl
 ├── example.txt
 └── subdir/
      └── index.htm?userCode=wrvvs1rm&zuntopl
如果该Bucket绑定了自定义域名example.com,且配置的静态网站默认首页为index.htm?userCode=wrvvs1rm&zuntopl,默认404页为error.htm?userCode=wrvvs1rm&zuntopl。则通过自定义域名访问静态网站时,根据是否开通了子目录首页,访问规则如下:
  • 未开通子目录首页
    • 当您访问https://example.com/https://example.com/subdir/时,OSS会返回https://example.com/index.htm?userCode=wrvvs1rm&zuntopl
    • 当您访问https://example.com/example.txt时,正常获取example.txt文件。
    • 当您访问https://example.com/object时,因object不存在,OSS会返回https://example.com/error.htm?userCode=wrvvs1rm&zuntopl
  • 已开通子目录首页
    • 当您访问https://example.com/时,OSS会返回https://example.com/index.htm?userCode=wrvvs1rm&zuntopl
    • 当您访问https://example.com/subdir/时,OSS会返回https://example.com/subdir/index.htm?userCode=wrvvs1rm&zuntopl
    • 当您访问https://example.com/example.txt时,正常获取example.txt文件。
    • 当您访问https://example.com/object时,因object不存在,OSS会根据您设置的文件404规则返回对应信息:
      • 如果文件404规则设置为Redirect(默认值),OSS会继续检查object/index.htm?userCode=wrvvs1rm&zuntopl是否存在。如果文件存在则返回302,并将访问请求重定向为https://example.com/object/index.htm?userCode=wrvvs1rm&zuntopl;如果文件不存在则返回404,并继续检查https://example.com/error.htm?userCode=wrvvs1rm&zuntopl
      • 如果文件404规则设置为NoSuchKey,则直接返回404,并继续检查https://example.com/error.htm?userCode=wrvvs1rm&zuntopl
      • 如果文件404规则设置为Index,OSS会继续检查object/index.htm?userCode=wrvvs1rm&zuntopl是否存在。如果文件存在则返回200,并直接返回文件内容。如果文件不存在,则继续检查https://example.com/error.htm?userCode=wrvvs1rm&zuntopl

操作方式

操作方式 说明
控制台 Web应用程序,直观易用
Java SDK 丰富、完整的各类语言SDK demo
Python SDK
PHP SDK
Go SDK
C SDK
.NET SDK
Node.js SDK
Ruby SDK

更多参考

您可以通过存储空间(Bucket)托管静态网站,并让访问者通过Bucket绑定的自定义域名(例如example.com)访问您的网站。具体操作,请参见教程示例:使用自定义域名设置静态网站托管