You can configure static website hosting for a bucket and then use the bucket's domain name to access static websites hosted in the bucket.
It can take up to two minutes for the configuration of static website hosting to take effect.
Web page files required for static website hosting have been uploaded to the specified bucket.
The static website files hosted in the bucket are accessible to anonymous users.
Static web page files in the Cold storage class have been restored. For more information, see Restoring an Object from Cold Storage.
Grant the read permission for static website files to anonymous users. For details, see Granting Anonymous Users Permission to Access Objects.
If the bucket contains only static website files, configure the Public Read policy for the bucket so that all files in it are publicly accessible.
Alternatively, you can choose Basic Configurations > Static Website Hosting from the navigation pane on the left.
OBS only allows files such as index.html in the root directory of a bucket to function as the default homepage. Do not set the default homepage with a multi-level directory structure (for example, /page/index.html).
A redirection rule is compiled in the JSON or XML format. Each rule contains a Condition and a Redirect. The parameters are described in Table 1.
Container |
Key |
Description |
---|---|---|
Condition |
KeyPrefixEquals |
Object name prefix on which the redirection rule takes effect. When a request is sent for accessing an object, the redirection rule takes effect if the object name prefix matches the value specified for this parameter. For example, to redirect the request for object ExamplePage.html, set the KeyPrefixEquals to ExamplePage.html. |
HttpErrorCodeReturnedEquals |
HTTP error codes upon which the redirection rule takes effect. The specified redirection is applied only when the error code returned equals the value specified for this parameter. For example, if you want to redirect requests to NotFound.html when HTTP error code 404 is returned, set HttpErrorCodeReturnedEquals to 404 in Condition, and set ReplaceKeyWith to NotFound.html in Redirect. |
|
Redirect |
Protocol |
Protocol used for redirecting requests. The value can be http or https. If this parameter is not specified, the default value http is used. |
HostName |
Host name to which the redirection is pointed. If this parameter is not specified, the request is redirected to the host from which the original request is initiated. |
|
ReplaceKeyPrefixWith |
The object name prefix used in the redirection request. OBS replaces the value of KeyPrefixEquals with the value you specified here for ReplaceKeyPrefixWith. For example, to redirect requests for docs (objects in the docs directory) to documents (objects in the documents directory), set KeyPrefixEquals to docs under Condition and ReplaceKeyPrefixWith to documents under Redirect. This way, requests for object docs/a.html will be redirected to documents/a.html. |
|
ReplaceKeyWith |
The object name used in the redirection request. OBS replaces the entire object name in the request with the value you specified here for ReplaceKeyWith. For example, to redirect requests for all objects in the docs directory to documents/error.html, set KeyPrefixEquals to docs under Condition and ReplaceKeyWith to documents/error.html under Redirect. This way, requests for both objects docs/a.html and docs/b.html will be redirected to documents/error.html. |
|
HttpRedirectCode |
HTTP status code returned to the redirection request. The default value is 301, indicating that requests are permanently redirected to the location specified by Redirect. You can also set this parameter based on your service needs. |
Example of setting a redirection rule
[ { "Condition": { "KeyPrefixEquals": "folder1/" }, "Redirect":{ "Protocol": "https", "HostName": "www.example.com", "ReplaceKeyPrefixWith": "target.html" } } ]
[ { "Condition": { "KeyPrefixEquals": "folder2/" }, "Redirect":{ "ReplaceKeyPrefixWith": "folder/" } } ]
[ { "Condition": { "KeyPrefixEquals": "folder.html" }, "Redirect":{ "ReplaceKeyWith": "folderdeleted.html" } } ]
[ { "Condition": { "HttpErrorCodeReturnedEquals": "404" }, "Redirect":{ "HostName": "www.example.com", "ReplaceKeyPrefixWith": "report-404/" } } ]
After the static website hosting is effective in OBS, you can access the static website by using the URL provided by OBS.
In some conditions, you may need to clear the browser cache before the expected results are displayed.