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

サーバー設定ファイルについて apache

以前から気になっていたサーバーの設定ファイルに関しての疑問について調査。 本日はapacheについて学習しようと思います。 通常のapacheの設定ファイルは[crayon-6623efe655e42 …

no image

yumのリポジトリについて

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

no image

apacheでのバーチャルホストの設定

このブログを旧サイトから移管し、同一ホストで別々のドメインを運用することになったので、バーチャルホストの設定を行いました。 Contents1 設定方法1.1 http.conf1.2 実際のバーチャ …

no image

herokuでMySQL

昨日に続き、heroku+MySQLのメモです。 herokuはディフォルトではPostgreSQLですが、アドオンを使うとMySQLも使えるようになります。 使い方ですが、herokuの管理画面でク …

no image

Terraform入門(シンプルなEC2の構築)

前回の記事でcloudformationとterraformの比較や紹介をしましたが、terraformがとっつきやすかったため、簡単なサンプルとメモを。 Contents1 インストール2 実行手順 …

アーカイブ