skillup

技術ブログ

サーバー・ネットワーク

locationディレクティブについて

投稿日:2016年12月11日 更新日:

nginxを実務で使うときに重要になってくるlocationディレクティブについて。

ここでは実際のlocationディレクトリとマッチするURLのパターンを見ていきたいと思います。

locationディレクティブ

下記の設定は http://website.com/admin/ に適用されます。

=がつくパターン

= があると完全一致になります。

マッチ
  • http://website.com/abcd
  • http://website.com/ABCD(ただしOSによる)
  • http://website.com/abcd?qr1=6 (クエリがあっても問題はない)
マッチしない
  • http://website.com/abcd/ (スラッシュがあるため完全ではない)
  • http://website.com/abcde(末尾に余計な文字があるためダメ)

 修飾子無し

先頭部分が一致しているものが対象になります。

マッチ
  • http://website.com/abcd
  • http://website.com/ABCD(ただしOSによる)
  • http://website.com/abcd?qr1=6 (クエリがあっても問題はない)
  • http://website.com/abcd/ (スラッシュがあってもよい)
  • http://website.com/abcde(末尾に余計な文字があっても途中まで一致しているのでOK)

~(正規表現)

指定された正規表現とマッチするURIが対象となり、大文字小文字の区別がある

マッチ
  • http://website.com/abcd
  • http://website.com/abcd?qr1=6 (クエリは影響を与えない)
マッチしない
  • http://website.com/ABCD(大文字小文字区別するためNG)
  • http://website.com/abcd/ (末尾のスラッシュがあるため合致しない)
  • http://website.com/abcde(余分な文字が入っているので合致しない)

ちなみに下記のように~*となると大文字小文字を区別しなくなる。

^~(一致終了パターン)

修飾子がないときと同様で違いは合致した瞬間に他のパターンを探さない。

参考文献

Nginx入門

-サーバー・ネットワーク
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Mailtrap テスト環境でメール送信を試したい時に使えるサービス

メールが絡んだ時のテストって難しいですよね・・・ ここだけは本番化した時に、1、2度お客さんに連絡して仕方なく本番でテスト・・・なんてことをやっておりましたが、つい最近、メールのテストが気軽にできるサ …

no image

yumのリポジトリについて

CentOSでは様々なパッケージが用意されていますが、標準で使えるもの以外にもさまざまなリポジトリがあります。 Contents1 リポジトリ一覧2 有効、無効や指定してのインストールについて リポジ …

no image

大規模Webサービス技術入門 DBの分散

前回に引き続き、大規模サービスを運用するときに必要になるMySQLの知識についてのまとめ Contents1 テーブル・SQL設計2 レプリケーション機能3 パーティショニング テーブル・SQL設計 …

no image

VPSのCentOS上にVirtualBox+Vagrantをインストール

普段使っているPCにVirtualBox+Vagrantをいれることはあったんですが、VPS上のCentOSに仮想環境を入れたいとの要件があり、試してみました。 結論からすると結局できなかったんですが …

no image

pythonのアップグレードに関して

pythonのアップグレードに関して。 python2.6だとpipがインストールされていないのですが、入れようとしてハマったのでメモ。 一般的なインストール方法ですが、下記のようになります。 [cr …