.htaccess 能夠幫助我們透過簡單的幾行程式碼,就能輕鬆的寫入 Redirect 規則,實現 301 或 302 的轉址,讓老舊的網址能夠自動跳轉至指定的新網址,不怕讓使用者看到錯誤畫面而造成使用者體驗不佳的情況了。
- 1 .htaccess 文件簡介
- 2 .htaccess 常見的 301/302 重定向規則
- 2.1 如何重定向(301 Redirect)單個頁面?
- 2.2 如何重定向(301 Redirect)整個網站/網域到另一個新的網站/網域?
- 2.3 如何重定向(301 Redirect)整個網站/網域到子目錄?
- 2.4 如何重定向(301 Redirect)子目錄到另一個新的網站?
- 2.5 如何只重定向(301 Redirect)後綴檔案編碼,保留前面所有檔案名稱?
- 2.6 如何使用重寫規則從舊網域重定向(301 Redirect)至新網域?
- 2.7 如何使用重寫規則從 non-www 子網域重定向(301 Redirect)指定至 www 子網域?
- 2.8 如何使用重寫規則從 non-www 網域重定向(301 Redirect)至帶有子目錄的 www 網域?
- 2.9 如何使用重寫規則從舊網域重定向(Redirect)至整個新網域(包含完整路徑與所有 query 查詢字串參數)?
- 2.10 如何使用重寫規則從擁有子目錄的舊網域當中,重定向(Redirect)至沒有子目錄的新網域,且同時包括完整路徑和查詢參數字串?
- 2.11 如何使用重寫規則將具有查詢參數字串的檔案重定向(Redirect)至根目錄(Root)當中?
- 2.12 如何使用重定向(Redirect)將 https 網址強制 Force 指向至 http 網址?
- 2.13 如何使用重定向(Redirect)將 http 網址強制 Force 指向至 https 網址?
- 2.14 如何刪除網址後綴,例如 index.html 或是 index.php 並重定向(301 Redirect)至根目錄(Root)當中?
- 2.15 如何保留參數字串,並保留網址結構,將參數字串作為目錄名稱並重定向(Redirect)至根目錄(Root)當中?
- 2.16 如何保留參數字串,並保留網址結構,將參數字串作為目錄名稱並重定向(Redirect)至子目錄(subdirectoryt)當中?
- 2.17 如何將舊網站重定向(301 Redirect)至新網域,同時保留其他原始的URL路徑?
- 2.18 如何將存於根目錄的部落格文章重定向(302 Redirect)至 /blog/ 子目錄當中?
- 2.19 如何將一個目錄重定向(Redirect)至另一個目錄?
- 3 相關內容
- 4 延伸閱讀
至於何時該使用 301 與 302 重定向跳轉,以及他們對 SEO 排名的影響,可以參考這篇:3分鐘了解 301 與 302 Redirect 重定向之間的差異與它們如何影響網站 SEO 排名
通常,除了透過 .htaccess 檔案建立規則來實現網址跳轉功能之外,我們也能透過 CloudFlare 的規則來建立 Forwarding URL,實現自動轉址。
透過 CloudFlare 的規則來建立 Forwarding URL,實現自動轉址。可惜的是,免費帳戶只能提供3條免費的規則建立,因此若你有大量的舊網址需要遷移時,使用 .htaccess 的方式建立 Redirect 規則就是一個好的選擇。
因此,今天才介紹一些常見與常用的 .htaccess Redirect 規則,讓你能夠快速建立 Redirect 跳轉。
.htaccess 文件簡介
.htaccess 是一個標準的 Apache Web Server 的配置文件,用來控制目錄與所有的子目錄。一般常見基於 Linux 建立的網站,通常都會使用 Apache 進行託管,因此在系統環境安裝完成後,你可以看到預設就已經存在 .htaccess 的文件。
假如你是使用 WordPress、Joomla、Drupal…等等的 Content Management System(CMS),相信你對這個 .htaccess 檔案一定不陌生,因為在這些內容管理系統預設都是使用 .htaccess 來控制大部分的系統執行命令。
.htaccess 檔案可以寫入伺服器的特殊指令,用來指定網域與 IP 的對應,此外,.htaccess 文件常見的做法還有用來自動配置使用者重定向至指定的URL網址,甚至將整個網域進行重定向的跳轉。
簡單來說,.htaccess 能做到的事情非常多,而今天我們就針對 .htaccess 的一項好用功能「實現 Redirect 重定向」功能來做詳細的介紹。
.htaccess 常見的 301/302 重定向規則
如何重定向(301 Redirect)單個頁面?
Information
代表將 https://example.com/new.php 使用 301 轉址方式轉至 https://example.com/new.html。
如何重定向(301 Redirect)整個網站/網域到另一個新的網站/網域?
Information
代表將目前網域/網站,整個透過 301 轉址方式跳轉至 https://newsite.com/,假設目前網域是 https://example.com/,那麼整個網域都會以 301 轉址方式轉至 https://newsite.com/。
如何重定向(301 Redirect)整個網站/網域到子目錄?
Information
代表將目前網域/網站,透過 301 轉址方式,將網站轉移至 /subfolder/ 這個子目錄當中。
如何重定向(301 Redirect)子目錄到另一個新的網站?
Information
代表將舊的子目錄,透過 301 轉址方式,將該子目錄重定向至新的網址當中。
如何只重定向(301 Redirect)後綴檔案編碼,保留前面所有檔案名稱?
Information
舉例來說,當你的網站改變系統,原本網頁的編碼為:https://example.com/article-1.php,透過這個重定向規則之後,就會跳轉成:https://example.com/article-1.html。
如何使用重寫規則從舊網域重定向(301 Redirect)至新網域?
如何使用重寫規則從 non-www 子網域重定向(301 Redirect)指定至 www 子網域?
如何使用重寫規則從 non-www 網域重定向(301 Redirect)至帶有子目錄的 www 網域?
如何使用重寫規則從舊網域重定向(Redirect)至整個新網域(包含完整路徑與所有 query 查詢字串參數)?
如何使用重寫規則從擁有子目錄的舊網域當中,重定向(Redirect)至沒有子目錄的新網域,且同時包括完整路徑和查詢參數字串?
如何使用重寫規則將具有查詢參數字串的檔案重定向(Redirect)至根目錄(Root)當中?
Information
舉例來說,原本網址為:https://example.com/index.php?id=10,會重定向(Redirect)至新網址至:https://example.com/new-path/ 當中。
如何使用重定向(Redirect)將 https 網址強制 Force 指向至 http 網址?
Warning
雖然不知道為什麼你需要這麼做,但有時若為了排除一些設定上的錯誤,你必須要暫時將網站從 https 轉移至 http 時,就可以使用這個重定向規則。
如何使用重定向(Redirect)將 http 網址強制 Force 指向至 https 網址?
Information
這個方式能夠強制將網站從 http 轉至 https,通常你的網站有duplicate content 重複內容的警告時,就可以使用這個 .htaccess 重定向規則。(但切記,你的網站一定必須先安裝並擁有 SSL 證書,否則會出現錯誤。)
如何刪除網址後綴,例如 index.html 或是 index.php 並重定向(301 Redirect)至根目錄(Root)當中?
如何保留參數字串,並保留網址結構,將參數字串作為目錄名稱並重定向(Redirect)至根目錄(Root)當中?
Information
舉例來說,原本你的網址為:https://example.com/index.php?id=1024,使用這個重定向(Redirect)規則後,新網址就會變至:https://example.com/1024/
如何保留參數字串,並保留網址結構,將參數字串作為目錄名稱並重定向(Redirect)至子目錄(subdirectoryt)當中?
如何將舊網站重定向(301 Redirect)至新網域,同時保留其他原始的URL路徑?
如何將存於根目錄的部落格文章重定向(302 Redirect)至 /blog/ 子目錄當中?
如何將一個目錄重定向(Redirect)至另一個目錄?
以上就是所有常見的 Redirect 重定向網址設定方式,如果有哪裡不清楚的地方歡迎在底下留言讓我知道!
延伸閱讀
- 2 步驟教你如何在 Blogger/Blogspot 當中設定自定義網域/子網域
- Hebe 田馥甄送你免費聽 Apple Music 4個月
- 如何修復 WordPress 出現 500 Internal Server Error 的解決方法
- MailBigFile 線上檔案分享工具,透過 Email 傳送檔案給對方下載
- 如何解決 WordPress 出現 502 Bad Gateway Error 的問題?
- 超過 40 個線上學習網站 - 網頁設計、程式語言、各種領域線上課程免費/付費資源索引
- httpstatus - 檢查網址重定向路徑、請求標頭與 HTTP 狀態代碼
- 網站速度測試分析與優化指南
- 網站頁面載入速度在 2019 年對於 Google SEO 排名的影響
- Cloudflare - 免費 DNS 代管網域名稱提升網站安全性,提供免費 CDN 與免費網站優化加快網站的載入速度
- SiteGround SG Optimizer - 免費又強大的 WordPress 緩存快取外掛,加快網站速度的好幫手
- 【WordPress SEO 外掛】 11 個 WordPress SEO Plugins 最佳推薦外掛(2019)