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

jenkinsのオートデプロイ

久々にJavaやりました。 Contents1 やりたいこと2 ハマりポイント2.1 Antでのjobの設定2.2 jenkinsでビルドできない2.3 jenkinsのオートデプロイ2.4 SSHで …

no image

OSコマンドインジェクション

Contents1 OSコマンドインジェクションとは?2 被害3 対策4 参考リンク OSコマンドインジェクションとは? OSに対する命令文を不正に紛れ込ませて攻撃させる手法。 被害 サーバー内のファ …

no image

Lambdaでの注意点

前に個人的な学習でLambdaを勉強しましたが、仕事で使う機会があり、気をつけるポイントを再度確認。 以前の学習リンク Amazon SESでの受信→S3→Lambdaでのメール転送 Contents …

no image

docker上でミニサービスを起動させるまで

dockerで何とかホストOS上でサービスを起動させるところまでは終了。 Contents1 やったこと2 苦戦したこと やったこと CentOSのイメージを取得 [crayon-65773ca211 …

no image

環境構築の手法について

2019年9月現在、PHPは7系(最新は7.3)を使うことが一般的ですが、たまにレガシー案件などでPHP5系を使ったりすることはあります。 まあ7系でも7.0じゃ動かないとか色々な制約あるんですけど・ …

アーカイブ