]> granicus.if.org Git - apache/blob - docs/manual/sections.html.ja.utf8
a1a94f4cfdba75bb3f3a67eedb79a50477c7350c
[apache] / docs / manual / sections.html.ja.utf8
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" />
12 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p>
15 <p class="apache">Apache HTTP サーバ バージョン 2.3</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
18 <div id="path">
19 <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="./">バージョン
20             2.3</a></div><div id="page-content"><div id="preamble"><h1>セクションの設定</h1>
21 <div class="toplang">
22 <p><span>言語: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
23 <a href="./fr/sections.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
24 <a href="./ja/sections.html" title="Japanese">&nbsp;ja&nbsp;</a> |
25 <a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
26 <a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
27 <a href="./zh-cn/sections.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
28 </div>
29 <div class="outofdate">この日本語訳はすでに古くなっている可能性があります。
30           更新された内容を見るには英語版をご覧下さい。</div>
31  <p><a href="configuring.html">設定ファイル</a>中のディレクティブは
32 サーバ全体に適用されたり、特定のディレクトリやファイル、ホスト、URL にのみ
33 適用されるように制限したりすることができます。この文書は設定用のセクションの
34 コンテナや <code>.htaccess</code> ファイルを使って他の設定ディレクティブの
35 スコープを変更する方法を説明します。</p>
36 </div>
37 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#types">設定用セクションコンテナの種類</a></li>
38 <li><img alt="" src="./images/down.gif" /> <a href="#file-and-web">ファイルシステムとウェブ空間</a></li>
39 <li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">バーチャルホスト</a></li>
40 <li><img alt="" src="./images/down.gif" /> <a href="#proxy">プロクシ</a></li>
41 <li><img alt="" src="./images/down.gif" /> <a href="#whatwhere">どのディレクティブが使えるの?</a></li>
42 <li><img alt="" src="./images/down.gif" /> <a href="#mergin">セクションのマージ方法</a></li>
43 </ul></div>
44 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
45 <div class="section">
46 <h2><a name="types" id="types">設定用セクションコンテナの種類</a></h2>
47
48 <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>
49
50 <p>コンテナには二つの基本となる種類があります。ほとんどのコンテナは
51 各リクエストに対して評価されます。その場合、コンテナ中のディレクティブは
52 コンテナにマッチするリクエストにのみ適用されます。一方、
53 <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>, 
54 <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>, 
55 <code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
56 コンテナは
57 サーバの起動時と再起動時にのみ評価されます。起動時に条件が真であれば、
58 コンテナ中のディレクティブはすべてのリクエストに適用されます。条件が
59 偽であれば、コンテナ中のディレクティブは無視されます。</p>
60
61 <p><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> ディレクティブは
62 <code class="program"><a href="./programs/httpd.html">httpd</a></code> コマンドラインで適切なパラメータが定義されたときにのみ
63 適用されるディレクティブを囲います。例えば次の設定では、サーバが
64 <code>httpd -DClosedForNow</code> を使って起動されたときだけすべての
65 リクエストを別のサイトにリダイレクトします:</p>
66
67 <div class="example"><p><code>
68 &lt;IfDefine ClosedForNow&gt;<br />
69 Redirect / http://otherserver.example.com/<br />
70 &lt;/IfDefine&gt;
71 </code></p></div>
72
73 <p><code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> は
74 非常に似ていますが、代わりにサーバ上でモジュールが使用可能な場合にのみ
75 適用可能なディレクティブを囲います。モジュールはサーバに
76 静的に組み込まれているか、動的に組み込むようになっていて、設定ファイル中で
77 <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> の行がより前の
78 部分に書かれている必要があります。このディレクティブは特定のモジュールの
79 存在に関わらず設定ファイルが動作する必要がある場合にのみ使ってください。
80 常に動作して欲しいディレクティブを囲むために使うべきではありません。
81 存在しないモジュールに関する有用なエラーメッセージの発生を抑制してしまいますので。
82 </p>
83
84 <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> ディレクティブが
85 適用されます。</p>
86
87 <div class="example"><p><code>
88 &lt;IfModule mod_mime_magic.c&gt;<br />
89 MimeMagicFile conf/magic<br />
90 &lt;/IfModule&gt;
91 </code></p></div>
92
93 <p><code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
94 ディレクティブは
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 適用されます。様々なバージョンの httpd を様々な設定で動作させることになる場合で、
99 テストスイートや巨大なネットワークでの用途を想定して、
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 それらの正規表現版はディレクティブをファイルシステムの一部分に対して適用します。
141 <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> セクションの
142 中のディレクティブは指定されたディレクトリとそのすべてのサブディレクトリに
143 適用されます。<a href="howto/htaccess.html">.htaccess ファイル</a>を
144 使うことでも同じ効果を得ることができます。例えば、次の設定では
145 <code>/var/web/dir1</code> とすべてのサブディレクトリに対して
146 ディレクトリインデックスを行ないます。</p>
147
148 <div class="example"><p><code>
149 &lt;Directory /var/web/dir1&gt;<br />
150 Options +Indexes<br />
151 &lt;/Directory&gt;
152 </code></p></div>
153
154 <p><code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> セクションの
155 中にあるディレクティブはどのディレクトリにあるかに関わらず、指定された名前の
156 すべてのファイルに適用されます。ですから例えば以下の設定ディレクティブが
157 設定ファイルの主セクションに書かれたときには、すべての場所の
158 <code>private.html</code> という名前のファイルへのアクセスを拒否します。</p>
159
160 <div class="example"><p><code>
161 &lt;Files private.html&gt;<br />
162 Order allow,deny<br />
163 Deny from all<br />
164 &lt;/Files&gt;
165 </code></p></div>
166
167 <p>ファイルシステムの特定の場所にあるファイルを指定するために、
168 <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> セクションと
169 <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> セクションを
170 組み合わせることができます。例えば、次の設定では
171 <code>/var/web/dir1/private.html</code>, 
172 <code>/var/web/dir1/subdir2/private.html</code>, 
173 <code>/var/web/dir1/subdir3/private.html</code> など、
174 <code>/var/web/dir1/</code> ディレクトリの下にあるすべての
175 <code>private.html</code> へのアクセスを拒否します。</p>
176
177 <div class="example"><p><code>
178 &lt;Directory /var/web/dir1&gt;<br />
179 &lt;Files private.html&gt;<br />
180 Order allow,deny<br />
181 Deny from all<br />
182 &lt;/Files&gt;<br />
183 &lt;/Directory&gt;
184 </code></p></div>
185
186
187 <h3><a name="webspace" id="webspace">ウェブ空間コンテナ</a></h3>
188
189 <p>一方、<code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
190 ディレクティブとその<a class="glossarylink" href="./glossary.html#regex" title="用語集を参照">正規表現</a>版は
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 />
203 Order Allow,Deny<br />
204 Deny 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 />
217 SetHandler 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> のように
228 shell スタイルのワイルドカードキャラクタが使用できます。
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 regex セクションを使用することで、ディレクティブの適用がどのように
241 変化するか把握しておいてください。</p>
242
243 <p>全ユーザディレクトリの設定を変更する、非 regex
244 ワイルドカードセクションは次のようになります。</p>
245
246 <div class="example"><p><code>
247 &lt;Directory /home/*/public_html&gt;<br />
248 Options 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 />
256 Order allow,deny<br />
257 Deny 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 />
285 Order allow,deny<br />
286 Deny 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/*&gt;<br />
339 Order allow,deny<br />
340 Deny 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 リクエスト全てに適用されるとして、本例のディレクティブは
437 A &gt; B &gt; C &gt; D &gt; E の順番に適用されます。</p>
438
439 <div class="example"><p><code>
440 &lt;Location /&gt;<br />
441 E<br />
442 &lt;/Location&gt;<br />
443 <br />
444 &lt;Files f.html&gt;<br />
445 D<br />
446 &lt;/Files&gt;<br />
447 <br />
448 &lt;VirtualHost *&gt;<br />
449 &lt;Directory /a/b&gt;<br />
450 B<br />
451 &lt;/Directory&gt;<br />
452 &lt;/VirtualHost&gt;<br />
453 <br />
454 &lt;DirectoryMatch "^.*b$"&gt;<br />
455 C<br />
456 &lt;/DirectoryMatch&gt;<br />
457 <br />
458 &lt;Directory /a/b&gt;<br />
459 A<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 />
473 Order deny,allow<br />
474 Allow 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 />
479 Order allow,deny<br />
480 Allow from all<br />
481 Deny 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> |
494 <a href="./zh-cn/sections.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
495 </div><div id="footer">
496 <p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
497 <p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
498 </body></html>