My Photo

« [CentOS 6.6]VirtualBoxのGuest Additionsをアップデート | Main | PostgreSQLのインストール その1 »

March 08, 2015

.htaccessの有効化とサブディレクトリのアクセス制御

関連記事:
.htaccessでBASIC認証
BASIC認証の設定のAuthNameとRequire

.htaccessを有効にする

/var/www/html がドキュメントルートの場合、ディレクティブの中のAllowOverrideを All に変更すると、.htaccess が使えるようになる。
ただし All にすると .htaccess で何でも出来てしまうので、.htaccess で許可する内容に応じた値にするべきである(参考ページ3,4)。

<Directory "/var/www/html">

    AllowOverride All

</Directory>

サブディレクトリ・サブディレクトリの特定のファイルのBASIC認証を解除する

あるディレクトリにBASIC認証がかかっていて、サブディレクトリやサブディレクトリ内の特定のファイルは認証なしにしたい場合の例を以下に示す。
以下のディレクトリ構成・ファイル配置で、testディレクトリには .htaccess でBASIC認証がかかっている。

test
├.htaccess
├sub1
│└sub1_1.html
├sub2
│├.htaccess
│└sub2_1.html
├sub3
│├.htaccess
│└sub3_1.html
├sub4
│├.htaccess
│├sub4_1.html
│└sub4_2.html
└sub5
  ├.htaccess
  ├sub5_1.html
  │sub5_2.html
  └sub5_3.html

sub1 は .htaccess がなく、親ディレクトリと同様にBASIC認証がかかる。 sub1以外のtestのサブディレクトリにはそれぞれ .htaccess がある。

test/sub2/.htaccess

Satisfy any
Order Allow,Deny
Allow from all

test/sub2 は認証無しになる。
1行目が "Satisfy any" なので、
・「testディレクトリで設定されているBASIC認証」または「"Satisfy any" の下に記述された条件」
を満たせばアクセスが許可される。
2行目以下ですべてのアクセスを許可しているので、結果として test/sub2 は認証がかからない。

test/sub3/.htaccess

Deny from all

test/sub3 はアクセスが許可されない。
Satisfyディレクティブがないので Satsify all と同じ意味となり、
・「testディレクトリで設定されているBASIC認証」かつ「test/sub3/.htaccess に記述された条件」
を満たせばアクセスが許可される。
test/sub3/.htaccessではすべてのアクセスを拒否しているので、結果として test/sub3 にはアクセス不可となる。

test/sub4/.htaccess

<Files "sub4_1.html">
    Satisfy any
    Order Allow,Deny
    Allow from all
</Files>

test/sub4ディレクトリの sub4_1.html は認証なし、sub4_2.html は認証ありとなる。
<Files>ディレクティブで指定されたファイルに対して内部に書かれたディレクティブが適用される。
この場合、sub4_1.html だけ無条件でアクセス許可となる。

test/sub5/.htaccess

<FilesMatch "sub5_[12]\.html">
    Satisfy any
    Order Allow,Deny
    Allow from all
</FilesMatch>

test/sub5ディレクトリの sub5_1.html と sub5_2.html は認証なし、sub5_3.html は認証ありとなる。
<FilesMatch>ディレクティブは<Files>ディレクティブと同様に適用範囲を制限する。違いは指定に正規表現を使う点である。

参考ページ:
1..htaccessを有効にする-独学!未経験からWebデザイナーになる!!
2.特定のファイル・ディレクトリのアクセスを拒否する-独学!未経験からWebデザイナーになる!!
3.DokuWikiのインストール (CentOS 6.5) : Unix系技術情報備忘録
4.Apacheサーバー構築法 - 第5回 設定を上書きする「.htaccess」:ITpro
5..htaccessでアクセス制限
6.core - Apache HTTP サーバ バージョン 2.2
7.サブディレクトリで特定のファイル以外のBasic認証を解除する - IMPOV::In My Point Of View
8.ミケネコの htaccess リファレンス
9.コンテナ指示子

« [CentOS 6.6]VirtualBoxのGuest Additionsをアップデート | Main | PostgreSQLのインストール その1 »

Linux」カテゴリの記事

プログラミング、技術情報」カテゴリの記事

Comments

Post a comment

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/26461/61250854

Listed below are links to weblogs that reference .htaccessの有効化とサブディレクトリのアクセス制御:

« [CentOS 6.6]VirtualBoxのGuest Additionsをアップデート | Main | PostgreSQLのインストール その1 »

May 2017
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof