skillup

技術ブログ

サーバー・ネットワーク

nginxのlocationディレクティブ内のリダイレクト処理について

投稿日:2016年8月4日 更新日:

nginxのlocationディレクリブ内のリダイレクト処理に関して。

結構長い間携わっていますが、適当に理解していた部分が多かったので再度復習です。

特にドメインのサブディレクトリでサービスを運用しようとなったときにはまることが多いです。

root

nginxのrooは読んで字のごとくrootディレクトリです。ドメインは基本的にこの後に追加されます。

例えばrootが/var/www/htmlになっており、http://sample.com/hoge/foo.phpとアクセスすると

root + ドメイン以下のhoge/foo.phpとなり /var/www/html/hoge/foo.phpにアクセスすることになります。

rewrite

読んで字のごとくURLの書き換えを行います。

例えば/var/www/html/hoge/html直下にアクセスしたい、だけどルートディレクトリはvar/www/htmlにしたいときは一筋縄ではいきません。

http://sample.com/hogeでアクセスした場合に/var/www/html/hoge/html/直下にアクセスさせなければいけません。

その場合下記のように書きます。

この手のフレームワークは結構あるので要注意。

ちなみにrewrite_log onと書いてあげることでログを見ることができます。

http://server-setting.info/centos/nginx-rewrite-debug.html

try_files

アクセスの優先順位を決めます。

などと書いた場合には

  1. $uriというファイルを見に行く ($uriはドメイン以下のurlの部分)
  2. 1がなければ$uriというディレクトリを見に行く
  3. 2もなかった場合,/hoge.htmlというファイルを見に行く

という意味になります。

https://gist.github.com/kenjiskywalker/4596258

http://nisihunabasi.mods.jp/blog/?p=615

注意点

nginxでファイルを読み込むときにcss/js/画像ファイルも有効に仕上げないと読み込まれないケースがあります。

上記のような記述を書いてあげましょう。

http://nob-log.info/2010/10/28/nginx-config/

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

執筆者:


comment

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

関連記事

no image

負荷調査のセオリー

以前にも下記リンクで負荷調査について記事を書いたんですが、もう少し掘り下げてみようかと。 サーバーの過負荷の発見 理論編 サーバーの過負荷の発見 メモリ使用率の調査&抽出、置換(awk,sed)コマン …

no image

メールヘッダ・インジェクション

Contents1 メールヘッダ・インジェクションとは?2 被害3 対策 メールヘッダ・インジェクションとは? お問い合わせメールなどでメールのヘッダを悪意のある第三者に自由に変更させられてしまう機能 …

no image

yumのリポジトリについて

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

no image

cakePHPでのサブディレクトリ(apache)

apache使用時、cakePHP2系をサブディレクトリで使いたいときの運用法に関して。通所通りですとファイルにアクセスできないので、URLのリライトをうまくしないといけません。下記に設定例をかきます …

no image

SSHの鍵認証に関して

SSHの鍵認証についてやり方自体は流れ作業でできていましたが、根本的なところが理解していないので復習。 まずは通常の流れを。 1 クライアント(自分のPC)で公開鍵・秘密鍵を作成。ssh-keygen …