Nginx で非 WWW または WWW をリダイレクトする方法

NGINX は、URL リダイレクトなどのさまざまなタスクを実行するように構成できる強力で柔軟な Web サーバーです。非 WWW から WWW へ、またはその逆にトラフィックをリダイレクトすることは、Web サイトへの一貫したアクセスを確保し、SEO を改善し、ユーザー エクスペリエンスを強化するための一般的な要件です。この設定により、すべての訪問者がサイトの単一バージョンにリダイレクトされ、検索エンジンのインデックス作成に役立ち、重複コンテンツの問題が排除されます。

このガイドでは、非 WWW を WWW に、WWW を非 WWW にリダイレクトするように NGINX を構成する方法を示し、この設定を効率的に実現するための明確な手順と例を示します。

NGINX URL リダイレクトの理解

NGINX で WWW から非 WWW へのリダイレクト (およびその逆) の実装を検討する前に、URL リダイレクトの基本概念を把握することが重要です。これらの基本を理解することで、効果的で SEO に適した Web サイト管理が可能になります。

NGINX URL リダイレクトの理解: キーの種類

  • 301 リダイレクト:
    • 目的: 永続的な URL の変更を示します。
    • 使用例: Web ページが新しい場所に永続的に移動された場合に最適です。
    • 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;
}

このディレクティブは、元の URL パスとプロトコルを維持しながら、example.com (非 WWW) を www.example.com (WWW) にリダイレクトします。

Nginx で WWW を非 WWW URL にリダイレクトする

WWW から非 WWW への Nginx サーバー ブロックの利用

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
}

この設定では、シームレスな遷移のために $scheme と $request_uri を使用して www.example.com を example.com にリダイレクトします。

Nginx Rewrite Rules によるリダイレクトの実装

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 にリダイレクトしたり、その逆を行ったりすることで、Web サイトへの一貫したアクセスを確保し、SEO を改善できます。NGINX 設定を定期的にチェックして、期待どおりに動作することを確認し、必要に応じて調整してください。これらのリダイレクトを実装すると、統一されたオンライン プレゼンスが維持され、すべてのトラフィックがサイトの単一バージョンに誘導されるため、ユーザー エクスペリエンスが向上します。

Joshua James

コメントを残す