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

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

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

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

解決済

1回答

1404閲覧

Basic 認証について

ufptgev8

総合スコア7

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2017/10/29 13:53

BASIC認証で 指定の名前の ファイルに BASIC認証をかけることは可能ですか?

例えば secure.php を指定した場合、
・ root/secure.php
・ root/y7/secure.php など
階層以下にある すべてのファイルに Basic 認証をかけたいです。

また あくまで Basic 認証は ファイルにかけたく、
同じ改装にあっても別の名前のファイルであれば 認証は不要にしたいのです。

mod_rewrite で PHPを通せばできそうな感じでしたが、
php を通さず .ht ファイルの記載で認証できるのでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

環境が書かれていないので、Apache 2.4.x 以降と仮定します。

この場合、.htaccess に <Files ~ "ファイル名"><FilesMatch "ファイル名"> で、ファイル名に一致している場合に適用する条件を指定できます。(<Files ~ "ファイル名"><FilesMatch "ファイル名"> は同じ意味です。)

具体的には、

<Files ~ "^.(htaccess|htpasswd)$"> Require all denied </Files> <Files ~ "secure.php"> AuthType basic AuthName "private" AuthUserFile .htpasswdの位置をフルパスで記載する Require valid-user </Files>

で、 .htaccess を置いたディレクトリより、下層(内包している)ディレクトリにある secure.php を Basic 認証させることはできます。

複数のファイルの場合は、適宜正規表現を使ってください。

詳しくは、Apache 2.4マニュアル <Files> ディレクティブ 参照。

ただし、.htaccess があるディレクトリが他にある場合、その .htaccess によって設定が上書きされることがあります。

投稿2017/10/29 22:51

編集2017/10/29 22:53
CHERRY

総合スコア25171

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問