

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定自訂錯誤文件
<a name="CustomErrorDocSupport"></a>

將儲存貯體配置為靜態網站後，若發生錯誤，則 Amazon S3 會傳回 HTML 錯誤文件。您可以選擇使用自訂錯誤文件來配置您的儲存貯體，使 Amazon S3 在發生錯誤時傳回該文件。

**注意**  
有一些瀏覽器會在錯誤發生時顯示自有的錯誤訊息，並忽略 Amazon S3 傳回的錯誤文件。例如當發生 HTTP 404 Not Found (HTTP 404 找不到) 錯誤時，Google Chrome 可能會忽略 Amazon S3 傳回的錯誤文件，而只顯示自己的錯誤。

**Topics**
+ [Amazon S3 HTTP 回應代碼](#s3-http-error-codes)
+ [設定自訂錯誤文件](#custom-error-document)

## Amazon S3 HTTP 回應代碼
<a name="s3-http-error-codes"></a>

下表列出發生錯誤時，Amazon S3 傳回之 HTTP 回應碼中的一部分。


| HTTP 錯誤代碼 | 描述 | 
| --- | --- | 
| 301 Moved Permanently (301 永久移除) | 當使用者直接向 Amazon S3 網站端點 (http://s3-website.Region.amazonaws.com/) 傳送請求時，Amazon S3 會傳回 301 永久移除回應，並將這些請求重新導向至 https://aws.amazon.com/s3/。 | 
| 302 Found (302 已找到) |  當 Amazon S3 收到金鑰 `x`、`http://bucket-name.s3-website.Region.amazonaws.com/x` (結尾不含斜線) 的請求時，會先尋找有金鑰名稱為 `x` 的物件。若找不到該物件，Amazon S3 會判定此請求乃針對子資料夾 `x`，並在結尾處新增斜線重新導向請求，然後傳回 **302 已找到**。  | 
| 304 Not Modified (304 未修改) |  Amazon S3 使用請求標頭 `If-Modified-Since`、`If-Unmodified-Since`、`If-Match` 及 (或) `If-None-Match` 來確定請求的物件與用戶端持有的快取複本是否相同。若物件相同，網站端點會傳回 **304 Not Modified (304 未修改)** 回應。  | 
| 400 Malformed Request (400 請求格式不正確) |  當使用者嘗試透過不正確的區域端點存取儲存貯體時，網站端點會以 **400 Malformed Request (請求格式不正確)** 回應。  | 
| 403 Forbidden (403 禁止) |  當使用者請求轉譯成不可公開讀取的物件時，網站端點會以 **403 Forbidden (403 禁止)** 回應。物件擁有者必須使用儲存貯體政策或物件 ACL，將物件設為可供大眾讀取。  | 
| 404 Not Found (404 找不到) |  網站端點在下列幾種情況會以 **404 Not Found (404 找不到)** 回應： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonS3/latest/userguide/CustomErrorDocSupport.html) 您可以建立自訂文件，供傳回 **404 Not Found (404 找不到)** 時使用。請務必將文件上傳到已設定為網站的儲存貯體，並將網站託管組態設為使用該文件。 如需 Amazon S3 如何將 URL 解譯成物件或索引文件請求的資訊，請參閱 [設定索引文件](IndexDocumentSupport.md)。  | 
| 500 Service Error (500 服務錯誤) |  當發生內部伺服器錯誤時，網站端點會以 **500 Service Error (500 服務錯誤)** 回應。  | 
| 503 Service Unavailable (503 服務無法使用) |  當 Amazon S3 認為您需要降低請求率時，網站端點會回應 **503 服務無法使用**。  | 

 對於這些錯誤，Amazon S3 一律會傳回預先定義的 HTML 訊息。以下範例是針對 **403 Forbidden (403 禁止)** 回應所傳回的範例 HTML 訊息。

![\[403 Forbidden (403 禁止) 錯誤訊息範例\]](http://docs.aws.amazon.com/zh_tw/AmazonS3/latest/userguide/images/WebsiteErrorExample403.png)


## 設定自訂錯誤文件
<a name="custom-error-document"></a>

將儲存貯體設定為靜態網站時，您可以提供自訂錯誤文件，其中包含易於使用的錯誤訊息和其他說明。只有 HTTP 4XX 類別的錯誤訊息，Amazon S3 才會傳回您自訂的錯誤文件。

若要使用 S3 主控台配置自訂錯誤文件，請依照下列步驟操作。您也可以使用 REST API、 AWS SDKs AWS CLI、 或 設定錯誤文件 CloudFormation。如需詳細資訊，請參閱下列內容：
+ 《Amazon Simple Storage Service API 參考**》中的 [PutBucketWebsite](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html)
+ 《CloudFormation 使用者指南》**中的 [AWS::S3::Bucket WebsiteConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-websiteconfiguration.html)
+ 《AWS CLI 命令參考》**中的 [put-bucket-website](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-website.html)

當您為儲存貯體啟用靜態網站託管時，請輸入錯誤文件的名稱 (例如 **404.html**)。為儲存貯體啟用靜態網站託管後，您可以將含有錯誤引文件名稱的 HTML 檔案上傳到儲存貯體。

**設定錯誤文件**

1. 建立錯誤文件，例如 `404.html`。

1. 將錯誤文件檔案儲存在本機。

   錯誤文件名稱區分大小寫，且須完全符合您在啟用靜態網站託管時所輸入的名稱。例如，如果您在 **Static website hosting** (靜態網站託管) 對話方塊的 **Error document** (錯誤文件) 名稱中輸入 `404.html`，您的錯誤文件檔案名稱也必須是 `404.html`。

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在左側導覽窗格中，選擇**一般用途儲存貯體**。

1. 在儲存貯體清單中，選擇您要用於託管靜態網站的儲存貯體名稱。

1. 為您的儲存貯體啟用靜態網站託管，並輸入錯誤文件的確切名稱 (例如 `404.html`)。如需詳細資訊，請參閱[啟用網站託管](EnableWebsiteHosting.md)及[設定自訂錯誤文件](#CustomErrorDocSupport)。

   啟用靜態網路託管之後，請繼續執行步驟 6。

1. 若要將錯誤文件上傳至您的儲存貯體，請執行下列其中一項：
   + 將錯誤文件檔案拖放至主控台儲存貯體清單中。
   + 選擇 **Upload** (上傳)，然後依照提示選擇並上傳索引檔案。

   如需逐步說明，請參閱「[上傳物件](upload-objects.md)」。