如何在 Nginx 中重新導向非 WWW 或 WWW

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 配置以確保其按預期工作,並在必要時進行調整。實施這些重新導向有助於維護統一的線上狀態,並透過將所有流量引導至網站的單一版本來增強使用者體驗。

Joshua James
跟我來
Joshua James 的最新帖子 (看全部)

發佈留言