我想要將 example.com → www.example.com,想要使用 Cloudflare 直接達成,中間不要有任何機器做轉址導向的動作,要怎麼做?
CloudFlare 設定 主網域 自動轉址到 子網域 的規則
想要 example.com → www.example.com,在 DNS 設定還是會需要 A 做設定(DNS add record):
- DNS → 紀錄 → 新增紀錄
- 類型:A
- 名稱:example.com
- 內容:192.0.2.1
- 註:192.0.2.1 是 RFC 5737保留IP,使用自己隨意機器的IP也可以
- Proxy狀態:要啟用(圖示變橘色)
- 規則 → 概觀 → 建立規則 → 重新導向規則 (建立規則以便將訪客從來源 URL 重新導向轉接至目標 URL)
- 規則名稱:example.com 301→ www.example.com
- 自訂篩選條件運算式 (選取)
- 當傳入要求符合…
- 欄位:主機名稱
- 運算子:等於
- 值:example.com
- 運算式預覽 (http.host eq "example.com")
- 則… URL 重新導向轉接
- 類型:動態
- 運算式:concat("https://www.example.com", http.request.uri.path)
- 狀態代碼:301
- 儲存即可
測試
- curl -I -L http://example.com.tw/
- curl -I -L http://example.com.tw/?test=1 # 看參數有沒有帶過去