質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

Q&A

0回答

2020閲覧

【Nginx+Codeigniter+Basic認証】任意のページにBasic認証をかけたい

hanhunhun

総合スコア100

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

0グッド

0クリップ

投稿2017/10/06 01:42

いつもお世話になっております。
confファイルでページごとにbasic認証を設けたいのですがうまくいかずに投げ出したくなっております。

Nginx confファイル

1 server { 2 listen 80; 3 server_name www.hogehoge.example.co.jp; 4 root /var/www/git-deploy/; 5 6 #charset koi8-r; 7 index index.php index.html index.htm; 8 ~~~ 9 location /hogedir/hugahuga/ { 10 index index.php index.html index.htm; 11 if (-f $request_filename) { 12 expires 30d; 13 break; 14 } 15 if (!-e $request_filename) { 16 rewrite ^(.+)$ /hogedir/hugahuga/index.php?$1 last; 17 #rewrite ^(.+)$ /index.php?$1 last; 18 } 19 20 location /hogedir/hugahuga/Login/ { 21 auth_basic "Basic authentication"; 22 auth_basic_user_file /etc/nginx/dirAAA/.htpasswd; 23 } 24 location /hogedir/hugahuga/UserInfo/ { 25 auth_basic "Basic authentication"; 26 auth_basic_user_file /etc/nginx/dirBBB/.htpasswd; 27 } 28 }

上記でやりたいこととして
www.hogehoge.example.co.jp/hogedir/hugahuga/に設置してあるCodeigniterのLoginページ(Controller)に対してと、同環境のUserInfoページ(Controller)に対して、別の.htpasswdを使用しそれぞれのページにアクセスした際にBasic認証をかけたいです。

ですが上記のやり方だとBasic認証は発動するのですが認証が通った後404エラーをはいてしまします。
憶測ですがlocationで指定しているURLをNginxがディレクトリのパスで解釈してCodeigniterを無視して読みに行っているのかなとも思うのですがよくわかりません。

何卒有識者様のお知恵を拝借できればと思います。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2017/10/06 05:56

Basic認証をかけない場合は 404 とはならないのですか?
hanhunhun

2017/10/06 06:37

ならないですね、、、
TaichiYanagiya

2017/10/06 07:52

404 のとき、error_log にどのようなメッセージが記録されていますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問