S3靜態網站託管:將所有路徑重定向至index.html
P粉127901279
P粉127901279 2023-10-15 23:02:52
0
1
738

我正在使用 S3 託管一個將使用 HTML5 PushStates 的 JavaScript 應用程式。問題是,如果使用者為任何 URL 新增書籤,它就不會解析為任何內容。我需要的是能夠接受所有 url 請求並在我的 S3 儲存桶中提供根 index.html,而不僅僅是執行完整重定向。然後我的 JavaScript 應用程式可以解析 URL 並提供正確的頁面。

有沒有辦法告訴 S3 要為所有 URL 請求提供 index.html,而不是進行重定向?這類似於設定 apache 透過提供單一 index.html 來處理所有傳入請求,如本例所示:https://stackoverflow.com/a/10647521/1762614。我真的很想避免僅僅為了處理這些路由而運行網頁伺服器。從 S3 開始做所有事情都非常有吸引力。

P粉127901279
P粉127901279

全部回覆(1)
P粉231112437

在 CloudFront 的幫助下,無需 URL hack 即可輕鬆解決問題。

  • 建立S3儲存桶,例如:react
  • 使用以下設定建立 CloudFront 分配:
    • 預設根物件:index.html
    • 來源網域:S3 儲存桶域,例如:react.s3.amazonaws.com
  • 前往錯誤頁面標籤,點選建立自訂錯誤回應
    • HTTP 錯誤代碼:403:禁止(404:未找到,如果是 S3 靜態網站)
    • 自訂錯誤回應:是
    • 回應頁面路徑:/index.html
    • HTTP 回應代碼:200:正常
    • #點選建立
#
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板