在閱讀本文前,請先閱讀「工程面上如何進行 301 轉址?301 轉址的幾種方式說明」確保你了解何謂 301 轉址,以及 301 轉址工程有哪一些做法。
301 轉址是許多 SEO 廠商都會希望客戶能夠設定正確的ㄧ件事,當然,在大多數的狀況下僅需要請網站廠商協助設定或是請網站廠商開發 301 轉址功能便能夠解決轉址問題。但,有時候問題並沒有這麼容易,假設今天遇到的狀況是網站廠商不願意配合或是客戶使用的是不支援轉址的 CMS 系統、電商平台時該怎麼辦呢?
在過去技術的認知上,通常都是需要具有網站主機的主控權、網站應用程式才能夠做到 301 轉址,但隨著網路世界的發展,出現了 Cloudflare 這樣的 CDN (Content Delivery Network) 代理的工具,在如今如果你擁有網域的控制權,既使你沒網站主機和應用程式的主控權,你仍然可以將網域放置 Cloudflare 代理上使用網頁規則功能來進行 301 重新導向。
在 Cloudflare 中有許多的功能與轉址有關,在登入到 Cloudflare 介面後,左側選單展開「規則」項目中可以看到「網頁規則 (Page Rules)」、「轉換規則 (Transform Rules)」、「重新導向轉接規則」、「Origin Rules」這幾個都是可以做到重新導向轉址的功能。(注意:本文撰寫時重新導向轉接規則與 Origin Rules 仍然為測試版本,可能現今已於本文不同。)
那麼這些重新導向轉址功能有哪些不同呢?事實上這些功能還是有部分些微的不同,舉例來說在沒有付費的方案上「網頁規則」只能設定 3 個,「轉換規則」、「重新導向轉接規則」和「Origin Rules」只能各設定 10 個;另外 Cloudflare 在處理流量順序為為「轉換規則」-->「網頁規則」--> 「Origin Rules」-->「重新導向轉接規則」。
在 Cloudflare 網頁規則新增中,你可以輸入你想要轉址的舊網址,並在選項中設定為「轉接 URL」後輸入目的地 URL 即可,例如我們可以用這個方式直接轉移整個網域。
在 Cloudflare 重新導向轉接規則中,我們可以設定條件決定當請求內容符合某些條件時進行轉址。以下面的截圖為例,我們可以設定當 URI 裡面包含 locale 參數為 en 時進行轉址。