3.NFinx-locationの配置

1486 ワード

locationの設定
文法的規則
location [=|~|~*|^~] /uri/ {… }
一つのserverにおけるlocation構成セグメントは、uriからファイルシステムへの経路マッピングを実現するために複数存在することができる。nginxは、ユーザ要求のURIに基づいて定義された全てのlocationをチェックし、最適なマッチングを見つけることができる。
を選択します。
正確なマッチを表す
~
URIを区別する文字の大文字と小文字の正則マッチを表します。
~
URIに対して文字の大文字と小文字を区別しない正則マッチを表します。
^~
URIの一番左の部分をマッチングしてチェックします。文字の大きさと文字の区別はありません。
  • マッチ優先度は、高い方から低い方へ:=、/~*、シンボルなしの
  • です。
    locationマッチング例
    location = / {
        [ configuration A ]
    }
    
    location / {
        [ configuration B ]
    }
    
    location /dh/ {
        [ configuration C ]
    }
    
    location ^~ /images/ {
        [ configuration D ]
    }
    
    # \.      .
    # $    (gif|jpg|jpeg|png)  
    location ~* \.(gif|jpg|jpeg|png)$ {
        [ configuration E ]
    }
    
  • /要求は、マッチング構成A
  • を要求する。
  • /index.html要求は、マッチング構成B
  • を要求する。
  • /dh/adrian.html要求は、マッチング構成C
  • を要求する。
  • /images/1.gif要求は、マッチング構成Dを要求する。
    ^~左/イメージ/マッチングチェックで、あとはどんな内容でも大丈夫です。
    ^~の優先度は~*より高いので、先にDに合わせます。
  • /dh/1.jpg要求は、マッチング構成E
  • を要求する。
  • locationにおけるrootとaliasの違い
  • root:webリソースのパスマップを設定し、要求URLに対応するドキュメントのディレクトリパスを指定し、http、server、location
  • に使用することができます。
  • alias:パスエイリアスは、locationコンテキスト
  • にのみ使用できます。
    location /dh/ {
        alias /web/data;
    }
    
    location /dh {
        root /web/data;
    }
    
    #      http://www.dh.com/dh/index.html
    ##    alias  ,      /web/data/index.html
    ##    root  ,     /web/data/dh/index.html