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 つの方法 (要約)
複雑なテーブル構造では、一部のセルが水平方向に複数のセルにまたがるため、行間属性 ROWSPAN を...
1. CSS スプライトを使用します。利点は、CSS で使用される小さな画像を 1 つの大きな画像に...
覚えて: IDE ディスク: 最初のディスクは hda、2 番目のディスクは hdb...最初のディ...
Linux環境で、特定のソフトウェア(パッケージ)がインストールされているかどうかを確認したい。 r...
現在、インターネット上でウェブサイトをコピーすることは非常に一般的です。では、他人が私たちのウェブサ...
ここに <input type="image"> がある場合、この画...
1. レスポンシブな Web を開発するには、ページを画面サイズに適応させる必要があります。前の記...
以下のように表示されます。 1. ssh -v -p [ポート番号] [ユーザー名]@[IPアドレス...
序文こういう特殊効果ってよく見かけますよね。すごくかっこいいですよね。 これは、Google Mat...
目次1. プロトタイプの関係2. プロトタイプチェーン3. 結論序文:前回の記事では、JavaScr...
最初の方法: CSSコード:コードをコピーコードは次のとおりです。 .b970-a{幅:970px;...
1. win + R を押して cmd と入力し、DOS ウィンドウに入ります。 2. MySQL...
目次docker-compose.ymlを書くdocker-composeを実行するビルドステータス...
目次タイプ判定から始める厳格な平等エラーファーストと約束デバッグと出力タイプ判定から始めるJavaS...
ケース1: 最後の提出とプッシュなし次のコマンドを実行します。 git コミット --amend g...