NGINX 是一個功能強大且靈活的 Web 伺服器,可以設定為執行各種任務,包括 URL 重新導向。將流量從非 WWW 重定向到 WWW(反之亦然)是確保對網站的一致存取、改進 SEO 和增強用戶體驗的常見要求。此設定可確保所有訪客都定向到網站的單一版本,這有助於搜尋引擎索引並消除重複內容問題。
本指南將示範如何設定 NGINX 將非 WWW 重定向到 WWW,將 WWW 重定向到非 WWW,並提供清晰的步驟和範例來有效地實現此設定。
了解 NGINX URL 重新導向
在探索 NGINX 中 WWW 到非 WWW 重定向(反之亦然)的實作之前,必須掌握 URL 重定向的基本概念。了解這些基礎知識可確保有效且 SEO 友善的網站管理。
了解 NGINX URL 重新導向:關鍵類型
- 301 重定向:
- 目的:指示永久 URL 變更。
- 使用案例:當網頁永久移動到新位置時的理想選擇。
- SEO 影響:將 SEO 排名從舊 URL 轉移到新 URL,保持搜尋引擎的可信度。
- 302 重定向:
- 目的:表示臨時 URL 變更。
- 使用案例:在網站維護或臨時內容轉移期間非常有用,表示將來將返回原始 URL。
- SEO 影響:告訴搜尋引擎保留原始 URL 索引,因為變更不是永久性的。
- 303 重定向:
- 目的:透過防止頁面刷新時重新提交資料來管理表單提交。
- 用例:主要用於涉及表單提交確認的情況。
- 使用者體驗:透過防止重複的表單提交和潛在的資料錯誤來增強使用者體驗。
Nginx 中將非 WWW 重新導向至 WWW URL
使用 Nginx 伺服器區塊重新導向
Nginx 伺服器區塊對於管理重新導向非常有效。下面介紹如何從非 WWW URL 重新導向到 WWW URL。
設定範例:
server {
listen 80;
server_name example.com;
return 301 $scheme://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
# Host your website content here
}
此配置將請求從 example.com(非 WWW)重定向到 www.example.com(WWW)。 $scheme 和 $request_uri 保留協定和路徑。
Nginx 重新導向指令
重定向指令提供了一種實現重定向的簡單方法。
指令範例:
server {
listen 80;
server_name example.com;
return 301 $scheme://www.example.com$request_uri;
}
該指令將 example.com(非 WWW)重定向到 www.example.com(WWW),並保持原始 URL 路徑和協定。
在 Nginx 中將 WWW 重新導向到非 WWW URL
利用 Nginx 伺服器區塊從 WWW 到非 WWW
以下是如何設定從 WWW 重新導向到非 WWW URL 的伺服器區塊。
設定範例:
server {
listen 80;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}
server {
listen 80;
server_name example.com;
# Host your website content here
}
此設定將 www.example.com 重新導向至 example.com,使用 $scheme 和 $request_uri 實現無縫過渡。
使用 Nginx 重寫規則實作重新導向
Nginx 中的重寫規則是處理 URL 操作的強大方法。
重寫規則範例:
server {
listen 80;
server_name www.example.com;
rewrite ^(.*)$ $scheme://example.com$1 permanent;
}
此規則將 www.example.com 更改為 example.com。 ^(.*)$ 模式捕獲所有 URL,將它們附加到 example.com ($1),並將重定向標記為永久。
結束語
透過配置 NGINX 將非 WWW 重新導向到 WWW,反之亦然,您可以確保對網站的一致存取並改善 SEO。定期檢查您的 NGINX 配置以確保其按預期工作,並在必要時進行調整。實施這些重新導向有助於維護統一的線上狀態,並透過將所有流量引導至網站的單一版本來增強使用者體驗。