前回はユーザにコンテンツを返すためのDocumentRootの設定をしてきました。今回はDocumentRootの設定に引き続き、
この設定をいれることで、
よく使われる設定
それでは、
項目 | Optionsの設定 |
---|---|
記述 | Options Indexes FollowSymLinks |
説明 | Optionsの引数に、 |
項目 | Allow Overrideの設定 |
---|---|
記述 | AllowOverride None |
説明 | .htaccessで設定を上書きするかどうかの設定。Noneで上書きができない状態となっている。 |
項目 | アクセス制限の設定 |
---|---|
記述 | Order allow,deny Allow from all Deny from example. |
説明 | アクセス制限をかけるための設定。Orderは、 |
その他にも設定可能な項目はたくさんありますが、
さまざまなディレクティブ
各ディレクトリやファイルに対して設定を行う方法はapacheでは3種類あります。
それぞれの役割をまとまると下表のとおりになっています。
ディレクティブ名 | 説明 |
---|---|
Directory ディレクティブ | OSのディレクトリからみた構造にマッチする |
Files ディレクティブ | ファイル名にマッチする |
Location ディレクティブ | URLとして送られてきた文字列にマッチする |
それではサンプルのhttpd.
Directory ディレクティブ
httpd.
<Directory "/usr/local/apache2/htdocs"> # Directoryディレクティブの設定
Options Indexes FollowSymLinks # Indexes,FollowSymLinksの設定
AllowOverride None # .htaccessでの設定の上書きを許可しない
Order allow,deny # allow/denyを適用する順番
Allow from all # すべてのユーザからのアクセスを許可する
</Directory> # Directoryディレクティブの終了
これはOSから見た/usr/
指定したディレクトリ以下には、
上記の場合ですと、
Files ディレクティブ
httpd.
<FilesMatch "^\.ht"> # FilesMatchディレクティブの設定
Order allow,deny # allow/denyを適用する順番
Deny from all # すべてのユーザからのアクセスを拒否する
</FilesMatch> # FilesMatchディレクティブの終了
Filesディレクティブでは、
.htaccessなどのアクセス制限ファイルは、
Location ディレクティブ
httpd.
<Location /server-status> # Locationディレクティブの設定
SetHandler server-status # server-statusの設定
Order deny,allow # deny/allowを適用する順番
Deny from all # すべてのユーザからのアクセスを拒否する
</Location> # Locationディレクティブの終了
Locationディレクティブは、
上記の例ですと、
なお、
各種ディレクティブの正規表現
Filesディレクティブでは使用していましたが、
正規表現を使用できることは非常に便利ですが、
最後に
今回は、
DocumentRootに指定した中でアクセス制限をかけたりなど非常に便利な機能ですが、
無駄な設定を増やさずに、