Nginx Rewriteの使用シナリオ 1. URL アドレスジャンプ。たとえば、ユーザーが pm.com にアクセスすると baidu.com にリダイレクトされ、ユーザーが http 経由でアクセスすると https にリダイレクトされます。 2. URL擬似静的は、動的ページを静的ページとして表示し、動的URLアドレスの過剰なパラメータが外部に露出することを減らし、セキュリティを向上させる技術です。 3. 検索エンジンのSEO最適化は、検索エンジンへのエントリをサポートするためにURLパスに依存しています。 4. ユーザーが閲覧する URL は、より標準化された外観になり、開発者や製品担当者のニーズを満たすように調整できます。 設定構文 正規表現の置換を書き換える [フラグ]; 4つの旗 last は後続の書き換え命令セットの処理を停止し、場所のスコープから抜け出して、変更された URI に一致する場所の検索を開始します。URL アドレスは変更されません。 break は後続の書き換え命令セットの処理を停止し、ロケーション スコープからジャンプせず、再検索せず、マッチングを終了し、URL アドレスは変更されません。 リダイレクトは 302 一時リダイレクトを返します。ブラウザのアドレス バーにはリダイレクトされた URL が表示され、クローラーは URL データベースを更新しません。 permanentは301パーマネントリダイレクトを返し、ブラウザのアドレスバーにはリダイレクトされたURLが表示され、クローラーはURLデータベースを更新します。 注意:lastとbreakを使用するとブラウザのアドレスは変更されませんが、redirectとpermanentを使用すると変更されます。 例えば: 場所 /abc/ { 書き換え ^/abc/(.*) /whsir/$1 break; 401 を返します。 } 場所 /opq/ { 最後に ^/opq/(.*) /whsir/$1 を書き換えます。 402 を返します。 } 場所 /whsir/ { 403 を返します。 } abcを入力した後、whsirの内容が一致する場合は200を返し、そうでない場合は404を返します。 opqを入力した後、whsirの内容が一致する場合は403を返し、そうでない場合は404を返します。 last と break は成功または失敗のステータス コードのみを返しますが、redirect と permanent は成功または失敗を返す前にまず 302 または 301 を返します。 よく使用される Nginx グローバル変数: 例: http://www.pm.com:99/aa/bb/test.php $ホスト www.pm.com $サーバーポート 99 $request_uri /aa/bb/test.php $ドキュメントルート /pm_code $リクエストファイル名 /pm_code/aa/bb/test.php ケース1: 外部ジャンプ lb01仮想マシンを開き、以前のカスタム構成ファイルを閉じて、新しい/etc/nginx/conf.d/rewrite.confを作成します。 注: ^/ は、ルートで始まるすべての URL (ここではルート ディレクトリは /pm_code、対応するドメイン名は www.pm.com) が Baidu にリダイレクトされることを意味します。 /etc/nginx/nginx.conf ファイルを変更する エラー ログ レベルを通知に変更して、リダイレクト情報を記録できるようにします (debug、info、notice、warn、error、crit、より多くの情報が記録されます) httpモジュールに1行追加する rewrite_log on; (書き換えログをオンにする) テスト ブラウザのアドレスバーにwww.pm.comと入力すると(ホストで既に設定済み)、Baiduのホームページにリダイレクトされます。 ケース2: 内部ジャンプ /etc/nginx/conf.d/rewrite.conf の内容を変更する /pm_codeにファイル2.html(コンテンツ222)を作成し、ブラウザにwww.pm.com/1.htmlと入力します。 エラーログの記録を表示する リターンの使用 上記の方法では、ブラウザのアドレスバーに 1.html が表示され、Web ページの内容は 2.html の内容になります。アドレスバーに 2.html を表示したい場合は、location の内容を return 302 /2.html; に変更するか、 .* /2.html redirect; と書き換えてください。 正規表現を使用する 例: www.pm.com/2020/* を www.pm.com/2019/* にリダイレクトします。 括弧は全体を表し、$1 は最初の括弧内の内容を表します。 http を https にリダイレクトする 注: nginx 1.14 以降では、ssl on と書く必要はありません。代わりに、listen フィールドに listen 443 ssl と書きます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: MySQL でテーブルを削除する 3 つの方法 (要約)
最適化によって発生する可能性のある問題最適化は必ずしも単純な環境で実行されるわけではなく、実稼働環境...
目次最初のステップ: 2 番目のステップは、request.js で関連する構成を行うことです。re...
プロジェクトを作成するWeChat開発者ツールでプロジェクトを作成し、言語でTypeScriptを選...
1. はじめに少し前、開発者がテスト環境や本番環境で誤った操作をし、データベースを誤って削除/更新し...
この記事では、MySQL ユーザー権限管理の例について説明します。ご参考までに、詳細は以下の通りです...
序文Linux システムの運用および保守エンジニア職の面接を受ける場合は、次の 10 個の最も一般的...
docker における実行と開始の違いDocker run はミラーイメージを指定します。そしてdo...
1. Apache Tomcat 公式サイトから Tomcat 圧縮パッケージをダウンロードします。...
Mac システムには PHP と Apache が付属していますが、必要なバージョンではない場合があ...
MySQLのスイッチングデータ保存ディレクトリの実装方法今日、仕事中に、mysql が保存されている...
おそらく、この記事にこのようなタイトルを付けると、誰かがこう尋ねるでしょう。「なぜまだテーブルに注目...
1. ローカルマシンを監視するためにZabbixエージェントをインストールするエージェントソフトウェ...
Vue.js を使用して、クリックしてズームできる 9 グリッドの画像表示モジュールを作成しました。...
Nginx グローバル変数Nginx には、$variable 名を通じて使用できるグローバル変数が...
この記事は主にMySQLの日付処理関数のサンプル分析を紹介します。この記事ではサンプルコードを詳細に...