nginxディレクトリパスをリダイレクトする方法

nginxディレクトリパスをリダイレクトする方法

ドメイン名に続くパスがデフォルトの Web ディレクトリではなく、ローカル ディスク上の他のディレクトリを指すようにしたい場合は、nginx ディレクトリ アクセス リダイレクトを設定する必要があります。適用シナリオ: dashidan.com/image は自動的に dashidan.com/folderName/image にジャンプします。nginx ディレクトリ パス リダイレクトを実装するには、4 つの方法があります。ルート マッピングを変更する、Nginx 書き換えによって内部的にリダイレクトする、エイリアス マッピングを設定する、nginx の永続的な 301 絶対リダイレクトによって実装する、です。

1 nginxはルートマッピングを変更する

ルート マッピングを変更して nginx ディレクトリ アクセスをリダイレクトするのが最も簡単な方法であり、推奨されます。

場所 / 画像 {
 ルート /フォルダ名;
}

2 nginx rewrite内部ジャンプによるアクセスリダイレクト

Nginx 構成コードの例:

場所 / 画像 {
 ^/image/(.*)$ /folderName/image/$1 を最後に書き換えます。
}

3 nginxエイリアスマッピングの実装

設定例:

場所 / 画像 {
 alias /folderName/image; #ここに絶対パスを記入してください}

4. nginxの永続的な301絶対リダイレクトを通じて実装

設定例:

場所 / 画像 {
 ^/image/(.*)$ http://dashidan.com/folderName/image/$1 を書き換えます。
}

5. URIを判断してページをリダイレクトする

設定例:

$request_uri の場合、
 ^/image/(.*)$ /folderName/image/$1 を最後に書き換えます。
}

nginx ロケーションマッチングルール

位置マッチングコマンド

~ #波線は通常の一致を示し、大文字と小文字が区別されます
~* # は大文字と小文字を区別せずに通常の一致を実行することを示します
^~ #^~ は通常の文字の一致を示します。このオプションが一致する場合、このオプションのみが一致し、他のオプションは一致しません。通常はディレクトリの一致に使用されます。
= # 共通文字の完全一致を実行します
@ #"@" は、error_page、try_files などの内部ターゲットに使用される名前付き場所を定義します。

  1. = プレフィックスはこのクエリと完全に一致します。見つかった場合は検索を中止します。
  2. 残りのすべての通常の文字列の中で、最も長い一致。この一致の前に ^~ が付いている場合、検索は停止します。
  3. 構成ファイルで定義された順序での正規表現。
  4. ルール 3 が一致した場合は、その結果が使用されます。それ以外の場合は、ルール 2 と同じルールが使用されます。

場所のマッチングの優先順位(設定ファイル内の場所の順序に関係なく)

= 完全一致が最初に処理されます。完全一致が見つかった場合、nginx はそれ以上の一致の検索を停止します。

通常の文字マッチング、正規表現ルール、長いブロックルールはクエリマッチングよりも優先されます。つまり、アイテムが一致する場合、正規表現の一致とより長い一致があるかどうかを確認する必要があります。

^~ はこのルールにのみ一致するため、nginx は他の一致の検索を停止します。それ以外の場合、nginx は他の場所の指示の処理を続行します。

最後に、「~」と「~*」を含む命令が一致します。対応する一致が見つかった場合、nginx は他の一致の検索を停止します。正規表現がない場合、または正規表現が一致しない場合は、一致度が最も高い逐語的一致命令が使用されます。

場所 = / {
 # 「/」のみに一致します。
 [ 構成A ] 
}
位置 / {
 # すべてのリクエストは "/" で始まるため、どのリクエストにも一致します。# ただし、より長い文字の一致または正規表現の一致が優先されます [ 構成 B ] 
}
場所 ^~ /images/ {
 # /images/ で始まるリクエストに一致し、他の場所との一致は停止します
 [ 構成 C ] 
}
場所 ~* \.(gif|jpg|jpeg)$ {
 # gif、jpg、またはjpegで終わるリクエストに一致します。 
 # ただし、/images/ ディレクトリへのすべてのリクエストは [構成 C] によって処理されます。 
 [ 構成 D ] 
}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • nginx 設定 URL リダイレクト - リバース プロキシの詳細な説明
  • Nginxのリダイレクト機能の詳しい説明
  • ngin 構成で 301 リダイレクトを設定する方法と nginx サブディレクトリで 301 リダイレクトを設定する方法
  • システムメンテナンスページにリダイレクトするように nginx を設定する

<<:  MySQL 5.7.10 winx64 のインストールと設定方法のグラフィック チュートリアル (win10)

>>:  WeChatアプレットは画像コントロールを選択します

推薦する

表示しているページのスナップショットを Baidu が保存できないように設定する方法

今日、Baidu でページを検索したところ、ページが削除されていたため、当然 Baidu スナップシ...

mysql5.7.21.zip インストールチュートリアル

mysql5.7.21 zipの詳細なインストール手順は次のとおりです。 1. 解凍して指定されたデ...

シンプルなプログレスバーを作成するための HTML+CSS

1. HTMLコードコードをコピーコードは次のとおりです。経験値: <span class=...

VMware ESXi CLI の一般的なコマンドを調べる

目次【共通コマンド】 [一般的な esxi コマンドの概要] [esxcli コマンドの調査] ES...

Mysqlチュートリアルでのグループランキングの実装例の詳細な説明

目次1. データソース2. データの総合順位1) 総合ランキング2) 同順位3) 同順位3. データ...

CSS で写真のスタッキング効果を実装するサンプルコード

成果を達成するステップ1. 初期index.html最初の写真、一番上の写真を作成します。写真の i...

Docker を使用して nginx で tomcat クラスターを構築する方法 (画像とテキスト付き)

まず、Tomcatフォルダを作成します。Dockerの設定を容易にするために、ルートディレクトリに直...

Docker を使用して開発環境を構築する方法 (Windows および Mac)

目次1. Dockerを使用する利点2. Dockerをインストールする1) LinuxにDocke...

JavaScript における BOM と DOM の詳細な説明

目次BOM (ブラウザ オブジェクト モデル) 1. ウィンドウブラウザのウィンドウサイズを取得する...

Linux ディスクとディスク パーティションを理解するための記事

序文Linux システムのすべてのハードウェア デバイスは、ファイルの形式で表現され、使用されます。...

CSS を使用して複数の方法で下揃えを実装するサンプル コード

会社のビジネス要件により、次の図の赤い領域の効果を達成する必要があります。 効果の説明: 1. 赤い...

JavaScript 定期検証パスワード強度実装方法

展示する デザインパスワード強度分析パスワードは数字、文字、特殊記号で構成されていますパスワード: ...

要素のフォーム要素の使用の概要

フォーム要素はたくさんあります。簡単にまとめると、次のようになります。私のやり方では、主にテキスト ...

CentOS 7のインストールと設定方法のグラフィックチュートリアル

この記事は、CentOS 7の詳細なインストールチュートリアルを参考のために記録します。具体的な内容...

MySQLの不合理なMaxIdleConnsにより接続が短くなる

1 背景最近、Shimo Document のオンライン ビジネスでパフォーマンスの問題が発生しまし...