Nginx には 3 つの一般的な 301 ジャンプがありますが、それらはすべて同じ目的を達成できます。ただし、3 つの記述方法には依然として違いがあり、主な違いは通常のマッチングのパフォーマンスです。
最初の方法: rewrite コマンドを使用して正規表現ですべての URI を照合し、先頭の最初の / (バックスラッシュ) を削除します。
^/(.*)$ を書き換えます https://www.hi-linux.com/$1;
2 番目: rewrite コマンドも使用しますが、異なる点は、すべての URI が $request_uri 変数を通じて照合されることです。
書き換え ^ https://www.hi-linux.com$request_uri? 永続的;
この方法で記述する利点は、最初の最初のバックスラッシュを削除するプロセスが節約され、通常のマッチングのパフォーマンスが向上することです。
3 番目の方法: return コマンドを使用して、これが 301 リダイレクトであることを Nginx に直接伝え、301 ステータス コードと $request_uri パラメーターを通じて指定された URI を取得します。
return 301 https://www.hi-linux.com$request_uri;
書き換えディレクティブには多くの記述方法とルールがあるため、この方法はパフォーマンスの点で最高です。すべての通常の一致が実行された後でのみ、Nginx はこれが 301 永続的なリダイレクトであることを認識します。
上記 3 つの書き込み方法を通じて、301 ジャンプでは、rewrite 命令よりも return 命令の方が性能的に有利であることがわかります。アクセス数が多くない場合、いくつかの書き込み方法のパフォーマンスの差は大きくありませんが、アクセス数が多い場合には、小さな最適化がビジネス システムのパフォーマンス向上に大きな役割を果たす可能性があります。
以上がNginx が 301 リダイレクト メソッドを実装する方法の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。