URLの書き換えとリダイレクト用のnginxの構成には、通常/etc/nginx/
にあるnginx構成ファイルの変更が含まれます。 URLの書き換えとリダイレクトを設定するには、 rewrite
指令とreturn
指令を使用する必要があります。これがそれを行う方法に関する段階的なガイドです:
/etc/nginx/nginx.conf
nginx.confに、またはsites-available
ディレクトリ内の特定のサイト構成ファイルにあります。書き換えのためのrewrite
指令を使用します。 rewrite
指令は、URLの書き換えに使用されます。基本的な構文は、 rewrite regex replacement [flag]
です。たとえば、 /old-url
から/new-url
へのすべてのリクエストを書き換えるには、以下を使用します。
<code class="nginx">rewrite ^/old-url/?$ /new-url permanent;</code>
permanent
旗は、永続的なリダイレクトを示す301ステータスコードを返します。
リダイレクトのためにreturn
指令を使用します。 return
ディレクティブを使用して、HTTPステータスコード(オプションでURL)を返すことができます。たとえば、 /old-url
からのすべての要求をhttps://example.com/new-url
にリダイレクトするには、以下を使用できます。
<code class="nginx">location /old-url { return 301 https://example.com/new-url; }</code>
構成のテスト:構成を変更した後、nginxをリロードまたは再起動する前に、エラーの構成をテストすることが重要です。
<code class="sh">sudo nginx -t</code>
nginxをリロード:テストが成功した場合、nginxをリロードして変更を適用します。
<code class="sh">sudo systemctl reload nginx</code>
NginxのURLリダイレクトを効果的かつ効率的にセットアップするには、いくつかのベストプラクティスに従う必要があります。
permanent
フラグ( 301
ステータスコード)を使用して、確かに変更されないことを恒久的にリダイレクトします。一時的なリダイレクトには、 redirect
フラグ( 302
ステータスコード)を使用します。curl
やオンラインリダイレクトチェッカーなどのツールでリダイレクトを常にテストして、意図したとおりに機能することを確認してください。Nginx URLの書き換えルールのテストは、予想どおりに機能することを確認するために重要です。 Nginx URLの書き換えルールをテストする方法を次に示します。
curl
の使用: curl
コマンドラインツールを使用してリダイレクトをテストできます。たとえば、 /old-url
から/new-url
へのリダイレクトをテストするには、以下を使用できます。
<code class="sh">curl -I http://example.com/old-url</code>
応答のLocation
ヘッダーを探して/new-url
に正しくリダイレクトするかどうかを確認します。
Redirect Checker
やHttpstatus.io
などのWebサイトを使用して、外部ソースからのリダイレクトとURLの書き換えをテストできます。ロギングとアクセスログ: Nginxで詳細なログを有効にして、実際のリクエストと応答のヘッダーを確認できます。以下をサーバーブロックに追加して、より詳細なロギングを有効にします。
<code class="nginx">access_log /var/log/nginx/access.log combined;</code>
次に、ログを検査して、書き換えとリダイレクトの動作を確認します。
NginxでURL書き換えを構成する場合、構成の有効性と信頼性を確保するために、一般的な間違いを避けることが重要です。
クエリパラメーターを無視する:クエリパラメーターを適切に処理できないと、データが失われたり、リダイレクトが誤っている可能性があります。たとえば、書き換え/old-url?param=value
の場合、クエリ文字列のルールアカウントが書き換えされていることを確認してください。
<code class="nginx">rewrite ^/old-url/?$ /new-url? permanent;</code>
permanent
またはredirect
のようなフラグを誤用すると、HTTPステータスコードが誤っている可能性があります。リダイレクトが一時的であるか永続的かに基づいて、使用しているフラグを常に再確認してください。(?i)
フラグを使用する必要があります。これらの一般的な落とし穴を認識し、ベストプラクティスに従うことにより、NginxのURL書き換えとリダイレクトをより効果的に管理できます。
以上がURLの書き換えとリダイレクトにnginxを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。