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と書いてあげることでログを見ることができます。

Nginx の rewrite(リダイレクト) をデバッグする

try_files

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

などと書いた場合には

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

という意味になります。

下記はnginxのわかりやすいリンクです。

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

nginxでFuelPHPを使うためのrewrite設定方法

注意点

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

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

nginxの設定ではまった事

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

執筆者:


comment

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

関連記事

no image

sudoとsuについて

基本的なことの復習。 Contents1 su2 sudo2.1 wheel su Switch User。読んで字のごとくユーザーを切り替えるコマンドです。 su suzukiでユーザーsuzuki …

no image

ansible host指定,変数の外だし,ユーザー追加

Ansibleにてhostユーザーやユーザーの追加などす。 Contents1 ホストの指定2 ユーザーの追加2.1 変数を別ファイルに2.2 パスワードのハッシュ化2.3 パスワードなしでsudo2 …

no image

herokuネタ(頻出コマンドなど)

10月末ぐらいから使っているPaasのherokuについてよく使うコマンドについて Contents1 アカウント開設&スタート2 基本的な使い方 アカウント開設&スタート http://skill- …

no image

dockerインストール

ansibleに続いてdockerについて書いていこうと思います。 Contents1 dockerとは?1.1 インストール1.2 イメージ取得&コンテナ作成1.3 commit1.4 参考リンク …

no image

nginxの設定ファイルの書き方に関して

Contents1 設定ファイルの構成と基本用語1.1 ディレクティブ1.2 コンテキスト2 基本的なディレクティブの遷移2.1 serverディレクティブ2.2 locationディレクティブ2.3 …