1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
4        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5              This file is generated from xml source: DO NOT EDIT
6        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7      -->
8<title>セクションの設定 - Apache HTTP サーバ</title>
9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
12<script src="/style/scripts/prettify.js" type="text/javascript">
13</script>
14
15<link href="/images/favicon.ico" rel="shortcut icon" /></head>
16<body id="manual-page"><div id="page-header">
17<p class="menu"><a href="/mod/">モジュール</a> | <a href="/mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">用語</a> | <a href="/sitemap.html">サイトマップ</a></p>
18<p class="apache">Apache HTTP サーバ バージョン 2.2</p>
19<img alt="" src="/images/feather.gif" /></div>
20<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サーバ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="./">バージョン 2.2</a></div><div id="page-content"><div id="preamble"><h1>セクションの設定</h1>
23<div class="toplang">
24<p><span>翻訳済み言語: </span><a href="/en/sections.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25<a href="/fr/sections.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
26<a href="/ja/sections.html" title="Japanese">&nbsp;ja&nbsp;</a> |
27<a href="/ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
28<a href="/tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
29</div>
30<div class="outofdate">この日本語訳はすでに古くなっている
31            可能性があります。
32            最近更新された内容を見るには英語版をご覧下さい。
33        </div>
34 <p><a href="configuring.html">設定ファイル</a>中のディレクティブは
35サーバ全体に適用されたり、特定のディレクトリやファイル、ホスト、URL にのみ
36適用されるように制限したりすることができます。この文書は設定用のセクションの
37コンテナや <code>.htaccess</code> ファイルを使って他の設定ディレクティブの
38スコープを変更する方法を説明します。</p>
39</div>
40<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#types">設定用セクションコンテナの種類</a></li>
41<li><img alt="" src="/images/down.gif" /> <a href="#file-and-web">ファイルシステムとウェブ空間</a></li>
42<li><img alt="" src="/images/down.gif" /> <a href="#virtualhost">バーチャルホスト</a></li>
43<li><img alt="" src="/images/down.gif" /> <a href="#proxy">プロクシ</a></li>
44<li><img alt="" src="/images/down.gif" /> <a href="#whatwhere">どのディレクティブが使えるの?</a></li>
45<li><img alt="" src="/images/down.gif" /> <a href="#mergin">セクションのマージ方法</a></li>
46</ul><ul class="seealso"><li><a href="#comments_section">コメント</a></li></ul></div>
47<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
48<div class="section">
49<h2><a name="types" id="types">設定用セクションコンテナの種類</a></h2>
50
51<table class="related"><tr><th>関連モジュール</th><th>関連ディレクティブ</th></tr><tr><td><ul><li><code class="module"><a href="/mod/core.html">core</a></code></li><li><code class="module"><a href="/mod/mod_version.html">mod_version</a></code></li><li><code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code></li><li><code class="directive"><a href="/mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code></li><li><code class="directive"><a href="/mod/core.html#files">&lt;Files&gt;</a></code></li><li><code class="directive"><a href="/mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code></li><li><code class="directive"><a href="/mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code></li><li><code class="directive"><a href="/mod/core.html#ifmodule">&lt;IfModule&gt;</a></code></li><li><code class="directive"><a href="/mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code></li><li><code class="directive"><a href="/mod/core.html#location">&lt;Location&gt;</a></code></li><li><code class="directive"><a href="/mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code></li><li><code class="directive"><a href="/mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code></li><li><code class="directive"><a href="/mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code></li><li><code class="directive"><a href="/mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
52
53<p>コンテナには二つの基本となる種類があります。ほとんどのコンテナは
54各リクエストに対して評価されます。その場合、コンテナ中のディレクティブは
55コンテナにマッチするリクエストにのみ適用されます。
56一方、<code class="directive"><a href="/mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> コンテナ. <code class="directive"><a href="/mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> コンテナ,
57<code class="directive"><a href="/mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code> は
58サーバの起動時と再起動時にのみ評価されます。起動時に条件が真であれば、
59コンテナ中のディレクティブはすべてのリクエストに適用されます。条件が
60偽であれば、コンテナ中のディレクティブは無視されます。</p>
61
62<p><code class="directive"><a href="/mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> ディレクティブは
63<code class="program"><a href="/programs/httpd.html">httpd</a></code> コマンドラインで適切なパラメータが定義されたときにのみ
64適用されるディレクティブを囲います。例えば次の設定では、サーバが
65<code>httpd -DClosedForNow</code> を使って起動されたときだけすべての
66リクエストを別のサイトにリダイレクトします:</p>
67
68<div class="example"><p><code>
69&lt;IfDefine ClosedForNow&gt;<br />
70Redirect / http://otherserver.example.com/<br />
71&lt;/IfDefine&gt;
72</code></p></div>
73
74<p><code class="directive"><a href="/mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> は
75非常に似ていますが、代わりにサーバ上でモジュールが使用可能な場合にのみ
76適用可能なディレクティブを囲います。モジュールはサーバに
77静的に組み込まれているか、動的に組み込むようになっていて、設定ファイル中で
78<code class="directive"><a href="/mod/mod_so.html#loadmodule">LoadModule</a></code> の行がより前の
79部分に書かれている必要があります。このディレクティブは特定のモジュールの
80存在に関わらず設定ファイルが動作する必要がある場合にのみ使ってください。
81常に動作して欲しいディレクティブを囲むために使うべきではありません。
82存在しないモジュールに関する有用なエラーメッセージの発生を抑制してしまいますので。
83</p>
84
85<p>次の例では、<code class="module"><a href="/mod/mod_mime_magic.html">mod_mime_magic</a></code> があるときにのみ <code class="directive"><a href="/mod/mod_mime_magic.html#mimemagicfiles">MimeMagicFiles</a></code> ディレクティブが
86適用されます。</p>
87
88<div class="example"><p><code>
89&lt;IfModule mod_mime_magic.c&gt;<br />
90MimeMagicFile conf/magic<br />
91&lt;/IfModule&gt;
92</code></p></div>
93
94<p><code class="directive"><a href="/mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
95ディレクティブは <code class="directive"><a href="/mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> 
96や <code class="directive"><a href="/mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> 
97によく似ていますが、サーバが特定のバージョンであるときにのみ有効にしたい
98ディレクティブを囲むのに使います。
99テストスイートや大規模ネットワークなどの、さまざまなバージョンの httpd を
100異なる設定で扱う用途向けにデザインされています。</p>
101
102<div class="example"><p><code>
103  &lt;IfVersion &gt;= 2.1&gt;<br />
104  <span class="indent">
105    # this happens only in versions greater or<br />
106    # equal 2.1.0.<br />
107  </span>
108  &lt;/IfVersion&gt;
109</code></p></div>
110
111<p><code class="directive"><a href="/mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> ディレクティブ,
112<code class="directive"><a href="/mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> ディレクティブ,
113<code class="directive"><a href="/mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code> ディレクティブは
114テストの前に "!" を付けることで否定の条件を適用することができます。
115また、これらのセクションはより複雑な制限を課すために入れ子にすることができます。
116</p>
117</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
118<div class="section">
119<h2><a name="file-and-web" id="file-and-web">ファイルシステムとウェブ空間</a></h2>
120
121<p>最もよく使われる設定のセクションコンテナはファイルシステムやウェブ空間の
122特定の場所の設定を変更するものです。まず、この二つの違いを理解することが
123大切です。ファイルシステムはオペレーティングシステムから見たディスクの内容です。
124たとえば、デフォルトのインストールでは Apache は Unix ファイルシステムでは
125<code>/usr/local/apache2</code> に、Windows ファイルシステムでは
126<code>"c:/Program Files/Apache Group/Apache2"</code> に存在します。
127(Apache では Windows でもパスセパレータとしてスラッシュを使うことに
128気をつけてください。) 対照的に、ウェブ空間はあなたのサイトを
129ウェブサーバから配信されるものとして見たもので、クライアントに見えるものです。
130デフォルトの Unix 上の Apache のインストールではウェブ空間の
131<code>/dir/</code> というパスはファイルシステムの
132<code>/usr/local/apache2/htdocs/dir/</code> というパスに対応します。
133ウェブページはデータベースや他の場所から動的に生成することもできますので、
134ウェブ空間はファイルシステムに直接マップする必要はありません。</p>
135
136<h3><a name="filesystem" id="filesystem">ファイルシステムコンテナ</a></h3>
137
138<p><code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code> ディレクティブと
139<code class="directive"><a href="/mod/core.html#files">&lt;Files&gt;</a></code> ディレクティブ、それと
140それらの<a class="glossarylink" href="/glossary.html#regex" title="用語集を参照">正規表現</a>版はディレクティブを
141ファイルシステムの一部分に対して適用します。
142<code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code> セクションの
143中のディレクティブは指定されたディレクトリとそのすべてのサブディレクトリに
144適用されます。<a href="howto/htaccess.html">.htaccess ファイル</a>を
145使うことでも同じ効果を得ることができます。例えば、次の設定では
146<code>/var/web/dir1</code> とすべてのサブディレクトリに対して
147ディレクトリインデックスを行ないます。</p>
148
149<div class="example"><p><code>
150&lt;Directory /var/web/dir1&gt;<br />
151Options +Indexes<br />
152&lt;/Directory&gt;
153</code></p></div>
154
155<p><code class="directive"><a href="/mod/core.html#files">&lt;Files&gt;</a></code> セクションの
156中にあるディレクティブはどのディレクトリにあるかに関わらず、指定された名前の
157すべてのファイルに適用されます。ですから例えば以下の設定ディレクティブが
158設定ファイルの主セクションに書かれたときには、すべての場所の
159<code>private.html</code> という名前のファイルへのアクセスを拒否します。</p>
160
161<div class="example"><p><code>
162&lt;Files private.html&gt;<br />
163Order allow,deny<br />
164Deny from all<br />
165&lt;/Files&gt;
166</code></p></div>
167
168<p>ファイルシステムの特定の場所にあるファイルを指定するために、
169<code class="directive"><a href="/mod/core.html#files">&lt;Files&gt;</a></code> セクションと
170<code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code> セクションを
171組み合わせることができます。例えば、次の設定では
172<code>/var/web/dir1/private.html</code>, 
173<code>/var/web/dir1/subdir2/private.html</code>, 
174<code>/var/web/dir1/subdir3/private.html</code> など、
175<code>/var/web/dir1/</code> ディレクトリの下にあるすべての
176<code>private.html</code> へのアクセスを拒否します。</p>
177
178<div class="example"><p><code>
179&lt;Directory /var/web/dir1&gt;<br />
180&lt;Files private.html&gt;<br />
181Order allow,deny<br />
182Deny from all<br />
183&lt;/Files&gt;<br />
184&lt;/Directory&gt;
185</code></p></div>
186
187
188<h3><a name="webspace" id="webspace">ウェブ空間コンテナ</a></h3>
189
190<p>一方、<code class="directive"><a href="/mod/core.html#location">&lt;Location&gt;</a></code>
191ディレクティブとその正規表現版はウェブ空間上の内容に対して設定を変更します。
192たとえば、次の設定では /private で始まる URL パスへのアクセスを制限します。
193具体的には、
194<code>http://yoursite.example.com/private</code>,
195<code>http://yoursite.example.com/private123</code>, 
196<code>http://yoursite.example.com/private/dir/file.html</code> 
197へのリクエストや、
198他の同様に <code>/private</code> 文字列で始まるリクエストに
199適用されます。</p>
200
201<div class="example"><p><code>
202&lt;Location /private&gt;<br />
203Order Allow,Deny<br />
204Deny from all<br />
205&lt;/Location&gt;
206</code></p></div>
207
208<p><code class="directive"><a href="/mod/core.html#location">&lt;Location&gt;</a></code>
209ディレクティブはファイルシステムと関係ある必要が全くありません。
210たとえば次の例では、どのようにして特定の URL を
211<code class="module"><a href="/mod/mod_status.html">mod_status</a></code>で提供されている Apache 
212内部ハンドラにマップするかを示しています。ファイルシステムに
213<code>server-status</code> というファイルが存在する必要はありません。</p>
214
215<div class="example"><p><code>
216&lt;Location /server-status&gt;<br />
217SetHandler server-status<br />
218&lt;/Location&gt;
219</code></p></div>
220
221
222<h3><a name="wildcards" id="wildcards">ワイルドカードと正規表現</a></h3>
223
224<p><code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code>, 
225<code class="directive"><a href="/mod/core.html#files">&lt;Files&gt;</a></code>, 
226<code class="directive"><a href="/mod/core.html#location">&lt;Location&gt;</a></code> 
227ディレクティブでは、 C 標準ライブラリの <code>fnmatch</code> のように
228shell スタイルのワイルドカードキャラクタが使用できます。
229"*" 文字は任意の文字列にマッチし、"?" 文字は任意の 1 文字にマッチし、
230"[<em>seq</em>]" は <em>seq</em> の任意の文字にマッチします。
231"/" 文字はどのワイルドカードでもマッチされません。
232明示的に指定する必要があります。</p>
233
234<p>これより柔軟なマッチングが必要な場合は、これらのコンテナに正規表現
235(regex) 版である
236<code class="directive"><a href="/mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>, 
237<code class="directive"><a href="/mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>, 
238<code class="directive"><a href="/mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>
239があり、マッチを選択するのに perl 互換<a class="glossarylink" href="/glossary.html#regex" title="用語集を参照">正規表現</a>を使用できます。しかし、次の設定のマージに目を通して、
240正規表現のセクションを使用することで、ディレクティブの適用がどのように
241変化するか把握しておいてください。</p>
242
243<p>全ユーザディレクトリの設定を変更する、非 regex
244ワイルドカードセクションは次のようになります。</p>
245
246<div class="example"><p><code>
247&lt;Directory /home/*/public_html&gt;<br />
248Options Indexes<br />
249&lt;/Directory&gt;
250</code></p></div>
251
252<p>regex セクションを使用することで、画像ファイルの多くのタイプに対する
253アクセスを一度に拒否できます。</p>
254<div class="example"><p><code>
255&lt;FilesMatch \.(?i:gif|jpe?g|png)$&gt;<br />
256Order allow,deny<br />
257Deny from all<br />
258&lt;/FilesMatch&gt;
259</code></p></div>
260
261
262
263<h3><a name="whichwhen" id="whichwhen">いつ何を使うか</a></h3>
264
265<p>ファイルシステムコンテナとウェブ空間コンテナを使い分けるのは、
266実際には非常に簡単です。ファイルシステムに依存する
267オブジェクトにディレクティブを適応する場合は、必ず
268<code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code> か
269<code class="directive"><a href="/mod/core.html#files">&lt;Files&gt;</a></code>
270を使用します。ファイルシステムに依存しないオブジェクト
271(データベースから生成されるウェブページなど) 
272にディレクティブを適用する際には、
273<code class="directive"><a href="/mod/core.html#location">&lt;Location&gt;</a></code>
274を使用します。</p>
275
276<p>ファイルシステム上のオブジェクトへのアクセスを制限するために、
277<code class="directive"><a href="/mod/core.html#location">&lt;Location&gt;</a></code>
278を決して使用しないようにしましょう。
279同一のファイルシステム位置にマップしている、ウェブ空間位置 (URL)
280が多数あって、設定した制限を迂回されてしまうかもしれないからです。
281例えば次の設定を考えてみましょう。</p>
282
283<div class="example"><p><code>
284&lt;Location /dir/&gt;<br />
285Order allow,deny<br />
286Deny from all<br />
287&lt;/Location&gt;
288</code></p></div>
289
290<p><code>http://yoursite.example.com/dir/</code>
291へのリクエストでは上手く動作します。しかし大文字小文字を区別しない
292ファイルシステムを使っていたらどうなるでしょう?
293<code>http://yoursite.example.com/DIR/</code> 
294へのリクエストで簡単にアクセス制限を迂回されてしまいます。これに対して
295<code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code>
296ディレクティブを使用すると、どのように呼び出されたかに関わらず
297その場所から提供される内容に適用されます。
298(例外はファイルシステムのリンクです。シンボリックリンクを使って、
299同一のディレクトリを複数のファイルシステムに設置できます。
300<code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code>
301ディレクティブはパス名をリセットすることなくシンボリックリンクを
302辿ります。ですから、高度なセキュリティが要求される場合は、
303適切に <code class="directive"><a href="/mod/core.html#options">Options</a></code> 
304ディレクティブを使用してシンボリックリンクを無効にするべきです。)</p>
305
306<p>大文字小文字を区別するファイルシステムを使用しているから上記のことは
307無関係だと思われるかもしれませんが、
308同一のファイルシステム位置に複数のウェブ空間位置をマップする方法は、
309他にいくらでもあるということを覚えていてください。
310ですからできる限りファイルシステムコンテナを使用してください。
311しかしながら一つだけ例外があります。
312<code>&lt;Location /&gt;</code> セクションはどんな URL 
313にも関わらず適用されるので、完全に安全です。</p>
314
315
316</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
317<div class="section">
318<h2><a name="virtualhost" id="virtualhost">バーチャルホスト</a></h2>
319
320<p><code class="directive"><a href="/mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
321コンテナは特定のホストに適用するディレクティブを格納します。
322一台のマシンで複数のホストを異なる設定で提供したいときに有用です。
323詳細に関しては<a href="vhosts/">バーチャルホストドキュメント</a>を
324ご覧下さい。</p>
325</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
326<div class="section">
327<h2><a name="proxy" id="proxy">プロクシ</a></h2>
328
329<p><code class="directive"><a href="/mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>
330と <code class="directive"><a href="/mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code>
331コンテナは、特定の URL にマッチする <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code>
332プロクシサーバを経由してアクセスしたサイトに対してのみ適用される
333設定ディレクティブを格納します。例えば次の設定は、<code>cnn.com</code> 
334ウェブサイトにアクセスするために用いられるプロクシサーバを
335制限します。</p>
336
337<div class="example"><p><code>
338&lt;Proxy http://cnn.com/*>;<br />
339Order allow,deny<br />
340Deny from all<br />
341&lt;/Proxy&gt;
342</code></p></div>
343</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
344<div class="section">
345<h2><a name="whatwhere" id="whatwhere">どのディレクティブが使えるの?</a></h2>
346
347<p>どのタイプの設定セクションでどのディレクティブが使用できるかは、
348ディレクティブの <a href="mod/directive-dict.html#Context">Context</a>
349を見てください。
350<code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code>
351で使用可能なものは全て、同様に
352<code class="directive"><a href="/mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>,
353<code class="directive"><a href="/mod/core.html#files">&lt;Files&gt;</a></code>,
354<code class="directive"><a href="/mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>,
355<code class="directive"><a href="/mod/core.html#location">&lt;Location&gt;</a></code>,
356<code class="directive"><a href="/mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>,
357<code class="directive"><a href="/mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>,
358<code class="directive"><a href="/mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code>
359セクションで使用可能です。しかしながら幾つか例外も存在します。</p>
360
361<ul>
362<li><code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code> ディレクティブは
363<code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code>
364セクションでのみ使用可能です。</li>
365
366<li><code>FollowSymLinks</code> と <code>SymLinksIfOwnerMatch</code> の
367<code class="directive"><a href="/mod/core.html#options">Options</a></code> は、
368<code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code>
369セクションか <code>.htaccess</code> ファイルでのみ使用可能です。</li>
370
371<li><code class="directive"><a href="/mod/core.html#options">Options</a></code> ディレクティブは、
372<code class="directive"><a href="/mod/core.html#files">&lt;Files&gt;</a></code>
373と <code class="directive"><a href="/mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>
374セクションでは使用できません。</li>
375</ul>
376</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
377<div class="section">
378<h2><a name="mergin" id="mergin">セクションのマージ方法</a></h2>
379
380    <p>マージの順番は以下のようになっています:</p>
381
382    <ol>
383      <li><code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code> (正規表現無し) と
384      <code>.htaccess</code> を同時に (<code>.htaccess</code> が許可されていれば、それが
385      <code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code> を上書きします)
386      </li>
387
388      <li><code class="directive"><a href="/mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>
389      (と <code>&lt;Directory ~&gt;</code></li>
390
391      <li><code class="directive"><a href="/mod/core.html#files">&lt;Files&gt;</a></code> と
392      <code class="directive"><a href="/mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code> を同時に</li>
393
394      <li><code class="directive"><a href="/mod/core.html#location">&lt;Location&gt;</a></code> と
395      <code class="directive"><a href="/mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> を同時に</li>
396    </ol>
397
398    <p><code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code>
399    以外は、それぞれのグループは設定ファイルに現れた順番に処理されます。
400    <code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code> (上のグループ 1)
401    はディレクトリが短いものから長いものへと処理されます。ですから、
402    例えば <code>&lt;Directory /var/web/dir1&gt;</code> は
403    <code>&lt;Directory /var/web/dir/subdir&gt;</code> の前に処理されます。複数の
404    <code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code> セクションが
405    同じディレクトリに
406    適用される場合は、設定ファイル中の順番に従って処理されます。
407    <code class="directive"><a href="/mod/core.html#include">Include</a></code>
408    によって挿入された設定は 挿入しているファイルの
409    <code class="directive"><a href="/mod/core.html#include">Include</a></code>
410    ディレクティブの位置にあったかのように扱われます。</p>
411
412    <p><code class="directive"><a href="/mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> セクション中のセクションは
413    バーチャルホストの定義の外側の対応するセクションの
414    <em>後</em>に適用されます。これによりバーチャルホストが
415    メインのサーバ設定を上書きできるようなります。</p>
416
417    <p><code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code> でリクエストが処理される場合は、
418    処理順番のうち、<code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code> コンテナの部分が
419    <code class="directive"><a href="/mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>
420    コンテナに取って代わられます。</p>
421
422    <p>後のセクションのディレクティブが前のセクションのものを上書きします。</p>
423
424
425<div class="note"><h3>技術メモ</h3>
426      実際には、名前を変換する段階 (URL
427      をファイル名にマップするために <code>Alias</code> や
428      <code>DocumentRoot</code> が使用されるところ) の直前に
429      <code class="directive"><a href="/mod/core.html#location">&lt;Location&gt;</a></code>/<code class="directive"><a href="/mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>
430      が行なわれます。
431      これらを適用した結果は変換が終わった後に完全に捨てられます。
432</div>
433<h3><a name="merge-examples" id="merge-examples">例</a></h3>
434
435<p>次はマージの順番を示すための恣意的な例になっています。
436リクエスト全てに適用されるとして、本例のディレクティブは
437A &gt; B &gt; C &gt; D &gt; E の順番に適用されます。</p>
438
439<div class="example"><p><code>
440&lt;Location /&gt;<br />
441E<br />
442&lt;/Location&gt;<br />
443<br />
444&lt;Files f.html&gt;<br />
445D<br />
446&lt;/Files&gt;<br />
447<br />
448&lt;VirtualHost *&gt;<br />
449&lt;Directory /a/b&gt;<br />
450B<br />
451&lt;/Directory&gt;<br />
452&lt;/VirtualHost&gt;<br />
453<br />
454&lt;DirectoryMatch "^.*b$"&gt;<br />
455C<br />
456&lt;/DirectoryMatch&gt;<br />
457<br />
458&lt;Directory /a/b&gt;<br />
459A<br />
460&lt;/Directory&gt;<br />
461<br />
462</code></p></div>
463
464<p>もっと具体的な、次の例を考えてみましょう。
465<code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code> 
466セクションに設置されたアクセス制限に関わらず、
467<code class="directive"><a href="/mod/core.html#location">&lt;Location&gt;</a></code>
468セクションが最後に評価されて、サーバへのアクセスは制限されません。
469言い換えれば、マージの順番は重要で、注意して使用してください!</p>
470
471<div class="example"><p><code>
472&lt;Location /&gt;<br />
473Order deny,allow<br />
474Allow from all<br />
475&lt;/Location&gt;<br />
476<br />
477# Woops!  This &lt;Directory&gt; section will have no effect<br />
478&lt;Directory /&gt;<br />
479Order allow,deny<br />
480Allow from all<br />
481Deny from badguy.example.com<br />
482&lt;/Directory&gt;
483</code></p></div>
484
485
486
487</div></div>
488<div class="bottomlang">
489<p><span>翻訳済み言語: </span><a href="/en/sections.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
490<a href="/fr/sections.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
491<a href="/ja/sections.html" title="Japanese">&nbsp;ja&nbsp;</a> |
492<a href="/ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
493<a href="/tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
494</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
495<script type="text/javascript"><!--//--><![CDATA[//><!--
496var comments_shortname = 'httpd';
497var comments_identifier = 'http://httpd.apache.org/docs/2.2/sections.html';
498(function(w, d) {
499    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
500        d.write('<div id="comments_thread"><\/div>');
501        var s = d.createElement('script');
502        s.type = 'text/javascript';
503        s.async = true;
504        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
505        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
506    }
507    else { 
508        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
509    }
510})(window, document);
511//--><!]]></script></div><div id="footer">
512<p class="apache">Copyright 2013 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
513<p class="menu"><a href="/mod/">モジュール</a> | <a href="/mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">用語</a> | <a href="/sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
514if (typeof(prettyPrint) !== 'undefined') {
515    prettyPrint();
516}
517//--><!]]></script>
518</body></html>