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 つの方法 (要約)
この記事では、アコーディオン効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...
1. はじめにSelenium を使用して Web サイトからデータをスクレイピングしたいのですが、...
1. ツールディレクトリのファイル構造 [root@www tools]# ツリーツール/ ツール/...
質問: int(1) と tinyint(1) の違いは何ですか?このような設計では、いずれにしても...
序文:私はずっと、SQL 文がどのように、どのような順序で実行されるのかを知りたいと思っていました。...
1. MS SQL Server 2005 --1. ログをクリアするexec('DUMP...
フォーマットはシンプルです: proxy_pass URL; URL には、送信プロトコル (htt...
序文最近、仕事でいくつかの問題が発生しました。crontab でスケジュールされたタスクが実行されま...
この記事では、カルーセルマップの効果を実現するためのjsの具体的なコードを参考までに共有します。具体...
HTMLとは何ですか? HTML は Web ページを記述するために使用される言語です。 •HTML...
この記事では、ウェブ計算機のマインスイーパゲームを実装するためのJavaScriptの具体的なコード...
<TR> タグの属性は、次の表に示すように、テーブル内の各行のプロパティを設定するために...
目次質問再生暗黙的な変換要約する参照する質問仕事中、1 つの SQL クエリ ステートメントのみを実...
MySQL における Regexp の一般的な使用法特定の文字列を含むあいまい一致# コンテンツフィ...
知識への依存Go クロスコンパイルの基礎Dockerの基礎Dockerfileカスタムイメージの基本...