.
.
.
.
.
TOPページ(Alt+B)
.
コンテナ指示子

コンテナ指示子はApache全体ではなく、サーバーの特定のファイルやディレクトリだけに適用され、その形式は<Directory ディレクトリ>・・・</Directory>のようにHTMLに似たブロック形式で指定します。Apacheはファイルの要求に対して以下の順番でコンテナ指示子を読み込みます。(これらはいずれもhttpd.confに書かれていた順序で調べられます。)

  1. 要求されたパス名と同じパス名が指定されているかどうか、正規表現を含まない<Directory>ブロックを調べます。
  2. 要求されたファイルに至るディレクトリの中に.htaccessファイルがあるかどうか調べます。
  3. 正規表現を含む<Directory>ブロックを調べます。
  4. <Files>ブロックを探して処理します。
  5. <Location>ブロックを探して処理します。
<Directory> 特定のディレクトリとその下のすべてのサブディレクトリに適用される指示子を設定する。同様の設定を行えるのが.htaccessファイル。但し、.htaccessファイルの使用はサーバーの処理速度を著しく低下させることがあるためできるだけ使用せず、こちらの<Directory>指示子による指定を行ったほうがよい。


形式 <Directory ディレクトリ>・・・</Directory>
引数  <Directory>に対して指定できる引数は具体的なディレクトリ名、ファイル名だけである。引数として正規表現を使うには指示子と引数の間にチルダ(~)を入れる。
使用例 <Directory "C:/Apache/icons">
   Options Indexes MultiViews
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>


<DirectoryMatch> 特定のディレクトリとその下のすべてのサブディレクトリに適用される指示子を設定する。 


構文 <DirectoryMatch 正規表現>・・・</DirectoryMatch>
引数 <Directory>と機能的には同じだが、引数としてディレクトリ名ではなく正規表現を指定する。こちらはチルダは必要ない。
使用例 <DirectoryMatch "^/www/. * /[A-Z] {3}">


<Files> 指定したファイルやファイル群に適用される指示子を設定する。


構文 <Files ファイル名>・・・</Files>
引数 具体的なファイル名、さらには疑問符(?)やアスタリスク(*)などのワイルドカードを使った指定も可能。
使用例 <Files ~ "^\.ht">
   Order allow,deny
   Deny from all
</Files>


<FilesMatch> 正規表現で指定したファイルやファイル群に適用される指示子を設定する。


構文 <FilesMatch 正規表現>・・・</FilesMatch>
引数 <Files>と機能Files的には同じだが、引数としてファイル名ではなく正規表現を指定する。


<Location> 特定のURLとその下のすべてのサブディレクトリに適用される指示子を設定する。 


構文 <Location URL>・・・</Location>
引数 <Directory>に似ているが、こちらは対象がディレクトリではなくURLとなる。引数はサーバーからの相対パスを指定する。従って指定するURLの先頭に「http://サーバー名」を指定しなくてもよい。
使用例 <Location /server-status>
   SetHandler server-status
   Order deny,allow
   Deny from all
   Allow from 192.168.130.150
</Location>


<LocationMatch> <Location>と働きは同じだが、引数としてURLではなく正規表現を指定する。


構文 <LocationMatch 正規表現>・・・</Location>
引数 引数としてURLではなく正規表現を指定する。チルダの指定は必要ない。


<VirtualHost> 仮想ホストを設定する。


構文 <VirtualHost アドレス[:ポート]>・・・</VirtualHost>
引数 引数には名前ベースまたはIPアドレスベースが指定できる。名前ベースを指定した場合、ApacheはDNSを参照するため処理速度が著しく低下する場合がある。IPベースでの仮想ホストが推奨される。
使用例 NameVirtualHost 123.456.789.1

<VirtualHost *>
   ServerAdmin webmaster@dummy-host.example.com
   DocumentRoot /www/docs/dummy-host.example.com
   ServerName dummy-host.example.com
   ErrorLog logs/dummy-host.example.com-error_log
   CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>


<Limit> 各コンテナ指示子の中でアクセスを更に限定する。


構文 <Limit GET/POST>・・・</Limit>
引数 GET、POST等のHTTPメソッド。
使用例 <Directory "C:/Apache/users">
   AllowOverride FileInfo AuthConfig Limit
   Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
   <Limit GET POST OPTIONS PROPFIND>
       Order allow,deny
       Allow from all
   </Limit>
   <LimitExcept GET POST OPTIONS PROPFIND>
       Order deny,allow
       Deny from all
   </LimitExcept>
</Directory>

TOPページ(Alt+B)

CopyRight (C) 2000-2013 by T.Shiraishi All right reserved 無断転載禁止/リンクフリー