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
8 <title>core - 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>
14 <div id="page-header">
15 <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>
16 <p class="apache">Apache HTTP サーバ バージョン 2.0</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
20 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.0</a> > <a href="./">モジュール</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Apache コア機能</h1>
24 <p><span>Available Languages: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
25 <a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> |
26 <a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> |
27 <a href="../ja/mod/core.html" title="Japanese"> ja </a> |
28 <a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
30 <div class="outofdate">This translation may be out of date. Check the
31 English version for recent changes.</div>
32 <table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>常に使用可能な Apache HTTP サーバのコア機能</td></tr>
33 <tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Core</td></tr></table>
35 <div id="quickview"><h3 class="directives">ディレクティブ</h3>
37 <li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li>
38 <li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li>
39 <li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li>
40 <li><img alt="" src="../images/down.gif" /> <a href="#addoutputfilterbytype">AddOutputFilterByType</a></li>
41 <li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li>
42 <li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li>
43 <li><img alt="" src="../images/down.gif" /> <a href="#authname">AuthName</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#authtype">AuthType</a></li>
45 <li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li>
48 <li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li>
49 <li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li>
50 <li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li>
51 <li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li>
52 <li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li>
53 <li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li>
54 <li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li>
55 <li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li>
56 <li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li>
57 <li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li>
58 <li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li>
59 <li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li>
60 <li><img alt="" src="../images/down.gif" /> <a href="#identitycheck">IdentityCheck</a></li>
61 <li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li>
62 <li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li>
63 <li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li>
64 <li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li>
65 <li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li>
66 <li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li>
67 <li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li>
68 <li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li>
69 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li>
70 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li>
71 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li>
72 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li>
73 <li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li>
75 <li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li>
76 <li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li>
77 <li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
78 <li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li>
79 <li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
80 <li><img alt="" src="../images/down.gif" /> <a href="#require">Require</a></li>
81 <li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
82 <li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
83 <li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li>
84 <li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li>
85 <li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li>
86 <li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li>
87 <li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li>
88 <li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li>
89 <li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li>
90 <li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li>
91 <li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li>
92 <li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li>
93 <li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li>
94 <li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li>
95 <li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li>
96 <li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li>
97 <li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li>
98 <li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li>
102 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
103 <div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo" id="acceptpathinfo">ディレクティブ</a></h2>
104 <table class="directive">
105 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>後に続くパス名情報を受け付けるリソースの指定</td></tr>
106 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr>
107 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AcceptPathInfo Default</code></td></tr>
108 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
109 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
110 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
111 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
112 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.30 以降で使用可能</td></tr>
115 <p>このディレクティブは実際のファイル名 (もしくは存在するディレクトリの
116 存在しないファイル) の後に続くパス名情報があるリクエストを受け付けるか
117 拒否するかを制御します。続きのパス名情報はスクリプトには <code>PATH_INFO</code>
118 環境変数として利用可能になります。</p>
120 <p>例えば、<code>/test/</code> が、<code>here.html</code> というファイル
121 一つのみがあるディレクトリを指しているとします。そうすると、
122 <code>/test/here.html/more</code> と <code>/test/nothere.html/more</code>
123 へのリクエストは両方とも <code>/more</code> を <code>PATH_INFO</code> とします。</p>
125 <p><code class="directive">AcceptPathInfo</code> ディレクティブに指定可能な
129 <dt><code>Off</code></dt><dd>リクエストは存在するパスにそのまま
130 マップされる場合にのみ受け付けられます。ですから、上の例の
131 <code>/test/here.html/more</code> のように、本当のファイル名の
132 後にパス名情報が続くリクエストには 404 NOT FOUND エラーが返ります。</dd>
134 <dt><code>On</code></dt><dd>前の方のパスが存在するファイルにマップする場合は
135 リクエストが受け付けられます。上の例の <code>/test/here.html/more</code>
136 は <code>/test/here.html</code> が有効なファイルにマップすれば
139 <dt><code>Default</code></dt><dd>続きのパス名情報の扱いはリクエストの
140 <a href="../handler.html">ハンドラ</a>で決まります。
141 普通のファイルのためのコアハンドラのデフォルトは <code>PATH_INFO</code> を拒否します。
142 <a href="mod_cgi.html">cgi-script</a> や <a href="mod_isapi.html">isapi-handler</a> のようにスクリプトを扱うハンドラは
143 一般的にデフォルトで <code>PATH_INFO</code> を受け付けます。</dd>
146 <p><code>AcceptPathInfo</code> の主な目的はハンドラの <code>PATH_INFO</code> を
147 受け付けるか拒否するかの選択を上書きできるようにすることです。
148 例えば、これは例えば <a href="mod_include.html">INCLUDES</a> のような
149 <a href="../filter.html">フィルタ</a>を使って <code>PATH_INFO</code> に
150 基づいてコンテンツを生成しているときに必要になります。</p>
152 <div class="example"><p><code>
153 <Files "mypaths.shtml"><br />
154 <span class="indent">
155 Options +Includes<br />
156 SetOutputFilter INCLUDES<br />
157 AcceptPathInfo On<br />
163 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
164 <div class="directive-section"><h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a> <a name="accessfilename" id="accessfilename">ディレクティブ</a></h2>
165 <table class="directive">
166 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>分散設定ファイルの名前</td></tr>
167 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AccessFileName <var>filename</var> [<var>filename</var>] ...</code></td></tr>
168 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AccessFileName .htaccess</code></td></tr>
169 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
170 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
171 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
173 <p>リクエストを処理するとき、サーバはディレクトリに
174 対して分散設定ファイルが<a href="#allowoverride">有効になっていれば</a>、
176 パス上にある全てのディレクトリから、ここで指定された名前の一覧の中で
177 最初に見つかったファイルをそれぞれ設定ファイルとして読み込みます。例えば:</p>
179 <div class="example"><p><code>
183 <p>という設定があると、以下のようにして無効にされていない限り、
184 ドキュメント <code>/usr/local/web/index.html</code>
185 を返す前に、サーバは <code>/.acl</code>, <code>/usr/.acl</code>,
186 <code>/usr/local/.acl</code>, <code>/usr/local/web/.acl</code> から
189 <div class="example"><p><code>
190 <Directory /><br />
191 <span class="indent">
192 AllowOverride None<br />
199 <li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li>
200 <li><a href="../configuring.html">設定ファイル</a></li>
201 <li><a href="../howto/htaccess.html">.htaccess ファイル</a></li>
204 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
205 <div class="directive-section"><h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a> <a name="adddefaultcharset" id="adddefaultcharset">ディレクティブ</a></h2>
206 <table class="directive">
207 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>明示的に文字セットを指定していない応答に追加される
208 デフォルトの文字セット</td></tr>
209 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddDefaultCharset On|Off|<var>charset</var></code></td></tr>
210 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AddDefaultCharset Off</code></td></tr>
211 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
212 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
213 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
214 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
216 <p>このディレクティブは、HTTP ヘッダにコンテントタイプパラメータを
217 持たない応答に追加される文字セットの名前を指定します。
218 これは、ドキュメント内の META タグで指定されたどのような文字セット
220 <code>AddDefaultCharset Off</code> という設定により、この機能は無効になります。
221 <code>AddDefaultCharset On</code> にすれば、ディレクティブの要求通り
222 Apache 内部のデフォルト文字セット <code>iso-8859-1</code> に設定します。
223 また、他の <var>charset</var> も指定できます。例えば:</p>
225 <div class="example"><p><code>
226 AddDefaultCharset utf-8
230 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
231 <div class="directive-section"><h2><a name="AddOutputFilterByType" id="AddOutputFilterByType">AddOutputFilterByType</a> <a name="addoutputfilterbytype" id="addoutputfilterbytype">ディレクティブ</a></h2>
232 <table class="directive">
233 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>MIME-type に出力フィルタを割り当てる</td></tr>
234 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AddOutputFilterByType <var>filter</var>[;<var>filter</var>...] <var>MIME-type</var>
235 [<var>MIME-type</var>] ...</code></td></tr>
236 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
237 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
238 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
239 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
240 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.33 以降で使用可能</td></tr>
242 <p>このディレクティブは応答の MIME-type に応じて出力<a href="../filter.html">フィルタ</a>を使用するようにします。</p>
244 <p>次の例は <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> の <code>DEFLATE</code> フィルタを
245 使っています。<code>text/html</code> と <code>text/plain</code> の
246 すべての出力 (静的なものも動的なものも) をクライアントに送られる前に
249 <div class="example"><p><code>
250 AddOutputFilterByType DEFLATE text/html text/plain
253 <p>複数のフィルタでコンテンツを処理させたいときは、それぞれの名前をセミコロンで
255 <code class="directive">AddOutputFilterByType</code> を一つずつ書くこともできます。</p>
257 <p>次の例は <code>text/html</code> のスクリプトのすべての出力を
258 まず <code>INCLUDES</code> フィルタで処理し、さらに <code>DEFLATE</code> フィルタにかけます。</p>
260 <div class="example"><p><code>
261 <Location /cgi-bin/><br />
262 <span class="indent">
263 Options Includes<br />
264 AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
269 <div class="warning"><h3>注:</h3>
270 <p><code class="directive">AddOutputFilterByType</code> ディレクティブにより
271 有効にしたフィルタは場合によっては、部分的もしくは完全に適用されないことが
272 あります。例えば、MIME タイプがが決定できないときには
273 <code class="directive"><a href="#defaulttype">DefaultType</a></code> の設定が同じだったとしても、
274 <code class="directive"><a href="#defaulttype">DefaultType</a></code> 設定を使うようになります。</p>
275 <p>しかし、確実にフィルタが適用されるようにしたいときは、リソースに
276 明示的にコンテントタイプを割り当てることができます。これには例えば
277 <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> ディレクティブや
278 <code class="directive"><a href="#forcetype">ForceType</a></code> ディレクティブを使います。
279 (nphでない) CGI スクリプトでコンテントタイプを設定するというものでも
282 <p>タイプ毎の出力フィルタはプロキシリクエストには決して適用されません。</p>
287 <li><code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li>
288 <li><code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code></li>
289 <li><a href="../filter.html">フィルタ</a></li>
292 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
293 <div class="directive-section"><h2><a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a> <a name="allowencodedslashes" id="allowencodedslashes">ディレクティブ</a></h2>
294 <table class="directive">
295 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>URL 中の符号化されたパス分離文字が先に伝えられるのを許可するかどうかを
297 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AllowEncodedSlashes On|Off</code></td></tr>
298 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr>
299 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
300 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
301 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
302 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.46 以降で使用可能</td></tr>
304 <p><code class="directive">AllowEncodedSlashes</code> ディレクティブは符号化された
305 パス分離文字 (<code>/</code> は <code>%2F</code>、さらにシステムによっては
306 <code>\</code> に対応する <code>%5C</code>) が存在する URL の使用を
307 許可するかどうかを決定します。通常はそのような URL は 404 (Not found) エラー
310 <p><code class="directive">AllowEncodedSlashes</code> <code>On</code> による
311 パス分離文字の使用は、<code>PATH_INFO</code> と合わせて
313 <p>Turning <code class="directive">AllowEncodedSlashes</code> <code>On</code> is
314 mostly useful when used in conjunction with <code>PATH_INFO</code>.</p>
316 <div class="note"><h3>注</h3>
317 <p>符号化されたスラッシュを許可することは、<em>復号</em>をすることを
318 意味<em>しません</em>。<code>%2F</code> や (関係するシステムでの)
319 <code>%5C</code> は、他の部分が復号された URL の中でもそのままの形式で
325 <li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li>
328 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
329 <div class="directive-section"><h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a> <a name="allowoverride" id="allowoverride">ディレクティブ</a></h2>
330 <table class="directive">
331 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td><code>.htaccess</code> で許可されるディレクティブの種類</td></tr>
332 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AllowOverride All|None|<var>directive-type</var>
333 [<var>directive-type</var>] ...</code></td></tr>
334 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AllowOverride All</code></td></tr>
335 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr>
336 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
337 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
339 <p>サーバが (<code class="directive"><a href="#accessfilename">AccessFileName</a></code> によって指定された)
340 .htaccess ファイルを見つけた時、そのファイルの中で
341 宣言されたどのディレクティブがより前に定義された設定ディレクティブを
342 上書きできるかを知る必要があります。</p>
344 <div class="note"><h3><Directory> セクションでのみ使用可能</h3>
345 <code class="directive">AllowOverride</code> は正規表現無しの<code class="directive"><a href="#directory"><Directory></a></code>
346 セクションでのみ有効で、<code class="directive"><a href="#location"><Location></a></code> や <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code>
347 や <code class="directive"><a href="#files"><Files></a></code> セクションでは無効です。
350 <p>このディレクティブを None に設定すると、<a href="#accessfilename">.htaccess</a> ファイルは完全に
352 この場合、サーバはファイルシステムの <code>.htaccess</code> ファイルを読むことを
355 <p>このディレクティブが <code>All</code> に設定されている時には、
356 <code>.htaccess</code> という <a href="directive-dict.html#Context">コンテキスト</a> を持つ
357 全てのディレクティブが利用できます。</p>
359 <p><var>directive-type</var> には、以下のディレクティブ群の
367 認証に関するディレクティブの使用を許可する (<code class="directive"><a href="../mod/mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>,
368 <code class="directive"><a href="../mod/mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>,
369 <code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code>,
370 <code class="directive"><a href="#authname">AuthName</a></code>,
371 <code class="directive"><a href="#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="#require">Require</a></code> <em>など。</em>)。</dd>
376 ドキュメントタイプを制御するためのディレクティブの使用を許可する (<code class="directive"><a href="#defaulttype">DefaultType</a></code>, <code class="directive"><a href="#errordocument">ErrorDocument</a></code>, <code class="directive"><a href="#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>,
377 <code class="directive"><a href="#sethandler">SetHandler</a></code>, <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>,
378 <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> の Add* と Remove*
379 ディレクティブ<em>など。</em>)。</dd>
384 ディレクトリインデックスを制御するためのディレクティブの使用を許可する
385 (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>,
386 <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>,
387 <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>,
388 <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#fancyindexing">FancyIndexing</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code>
394 ホストへのアクセス制御を行うためのディレクティブの使用を許可する (<code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code>, <code class="directive"><a href="../mod/mod_access.html#order">Order</a></code>).</dd>
399 特定のディレクトリにおける機能を指定するためのディレクティブの使用を許可する
400 (<code class="directive"><a href="#options">Options</a></code> と
401 <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>)。</dd>
406 <div class="example"><p><code>
407 AllowOverride AuthConfig Indexes
410 <p>上の例では <code>AuthConfig</code> と <code>Indexes</code> のどちらにも
411 属さないディレクティブはすべて内部サーバエラーを引き起こします。</p>
415 <li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li>
416 <li><a href="../configuring.html">設定ファイル</a></li>
417 <li><a href="../howto/htaccess.html">.htaccess ファイル</a></li>
420 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
421 <div class="directive-section"><h2><a name="AuthName" id="AuthName">AuthName</a> <a name="authname" id="authname">ディレクティブ</a></h2>
422 <table class="directive">
423 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>HTTP 認証の認可領域 (訳注: realm)</td></tr>
424 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AuthName <var>auth-domain</var></code></td></tr>
425 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
426 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr>
427 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
428 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
430 <p>このディレクティブはディレクトリに対する認可領域 (訳注: realm)
432 認可領域は、利用者がどのユーザ名とパスワードを送信すればよいのかを
434 <code class="directive">AuthName</code> は一つの引数をとり、
438 <code class="directive"><a href="#authtype">AuthType</a></code> ディレクティブや
439 <code class="directive"><a href="#require">Require</a></code> ディレクティブと、
440 <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code> や
441 <code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code> などのディレクティブと
446 <div class="example"><p><code>
447 AuthName "Top Secret"
450 <p>ここで <code>AuthName</code> に指定した文字列が、
451 大部分のブラウザのパスワードダイアログに表示されます。</p>
455 <li><a href="../howto/auth.html">認証、承認、アクセス制御</a></li>
458 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
459 <div class="directive-section"><h2><a name="AuthType" id="AuthType">AuthType</a> <a name="authtype" id="authtype">ディレクティブ</a></h2>
460 <table class="directive">
461 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ユーザ認証の種類</td></tr>
462 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AuthType Basic|Digest</code></td></tr>
463 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
464 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr>
465 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
466 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
468 <p>このディレクティブは対象ディレクトリで利用するユーザー認証の種類を選びます。
469 ただ、現在のところは <code>Basic</code> と <code>Digest</code> しか
472 このディレクティブは <code class="directive"><a href="#authname">AuthName</a></code>ディレクティブや
473 <code class="directive"><a href="#require">Require</a></code> ディレクティブと、
474 <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code> や <code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code> などのディレクティブと
479 <li><a href="../howto/auth.html">認証、承認、アクセス制御</a></li>
482 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
483 <div class="directive-section"><h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a> <a name="cgimapextension" id="cgimapextension">ディレクティブ</a></h2>
484 <table class="directive">
485 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>CGI スクリプトのインタープリタの位置を調べるための手法</td></tr>
486 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CGIMapExtension <var>cgi-path</var> <var>.extension</var></code></td></tr>
487 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>None</code></td></tr>
488 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
489 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
490 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
491 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
492 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>NetWare のみ</td></tr>
494 <p>このディレクティブは Apache が CGI スクリプトを実行するための
496 例えば、<code>CGIMapExtension sys:\foo.nlm .foo</code> と設定すると
497 <code>.foo</code> という拡張子のすべての CGI スクリプトは FOO インタープリタに
501 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
502 <div class="directive-section"><h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a> <a name="contentdigest" id="contentdigest">ディレクティブ</a></h2>
503 <table class="directive">
504 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td><code>Content-MD5</code> HTTP 応答ヘッダの生成を有効にする</td></tr>
505 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ContentDigest On|Off</code></td></tr>
506 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ContentDigest Off</code></td></tr>
507 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
508 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Options</td></tr>
509 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
510 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
512 <p>このディレクティブは、RFC1864 及び RFC2068 において定義されている
513 <code>Content-MD5</code> ヘッダーの生成を有効にします。</p>
515 <p>MD5 は、任意長のデータの「メッセージダイジェスト」(「指紋」
516 と表現されることもある) を計算するアルゴリズムで、
517 データの変更があった場合には非常に高い信頼度でメッセージダイジェストに変更が
520 <p><code>Content-MD5</code> ヘッダは、エンドツーエンドで
521 エンティティボディーに含まれるメッセージの完全性チェック
522 (Message Integrity Check - MIC)を提供します。
523 このヘッダを調べることで、プロキシやクライアントは、
524 途中経路におけるエンティティボディの予期せぬ変更などを
525 検出することができます。ヘッダの例:</p>
527 <div class="example"><p><code>
528 Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
531 <p>リクエスト毎にメッセージダイジェストを計算する (値はキャッシュされません)
533 サーバパフォーマンスが低下することについて注意してください。</p>
535 <p><code>Content-MD5</code>は、<code class="module"><a href="../mod/core.html">core</a></code> 機能により処理された
537 SSI ドキュメントや CGI スクリプトの出力、バイトレンジを指定した
538 応答の場合にはこのヘッダは付与されません。
542 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
543 <div class="directive-section"><h2><a name="DefaultType" id="DefaultType">DefaultType</a> <a name="defaulttype" id="defaulttype">ディレクティブ</a></h2>
544 <table class="directive">
545 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバがコンテントタイプを決定できないときに
546 送られる MIME コンテントタイプ</td></tr>
547 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DefaultType <var>MIME-type</var></code></td></tr>
548 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DefaultType text/plain</code></td></tr>
549 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
550 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
551 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
552 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
554 <p>サーバは、MIME のタイプマップからは決定できない
555 ドキュメントの送信を要求されることがあります。</p>
557 <p>サーバは、ドキュメントのコンテントタイプをクライアントに通知する必要が
558 ありますので、このようにタイプが未知の場合は
559 <code>DefaultType</code> で指定されたタイプを利用します。
562 <div class="example"><p><code>
563 DefaultType image/gif
566 <p>これは <code>.gif</code> という拡張子がファイル名に含まれていない
567 多くの GIF 画像が含まれているディレクトリに適しているでしょう。</p>
569 <p><code class="directive"><a href="#forcetype">ForceType</a></code> ディレクティブと
570 違って、このディレクティブはデフォルトの MIME タイプを提供するだけで
571 あることに注意してください。ファイル名の拡張子を含め、
572 メディアタイプを決定できる他の MIME タイプの定義があれば
576 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
577 <div class="directive-section"><h2><a name="Directory" id="Directory"><Directory></a> <a name="directory" id="directory">ディレクティブ</a></h2>
578 <table class="directive">
579 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>指定のファイルシステムのディレクトリとサブディレクトリとのみに
580 適用されるディレクティブを囲む</td></tr>
581 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><Directory <var>directory-path</var>>
582 ... </Directory></code></td></tr>
583 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
584 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
585 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
587 <p>指定されたディレクトリとそのサブディレクトリにのみ
589 <code class="directive"><Directory></code> と
590 <code></Directory></code> を対として、ディレクティブ群を囲います。
591 その中には、ディレクトリコンテキストで許可された全てのディレクティブを
593 <var>directive-path</var> は、フルパスもしくは Unix のシェル形式の
595 <code>?</code> は任意の 1 文字、<code>*</code> は任意の文字列にマッチします。
596 シェルにおける指定同様、文字の範囲を <code>[]</code> で指定できます。
597 ワイルドカードは `/' 文字にはマッチしませんので、
598 <code>/home/user/public_html</code> には
599 <code><Directory /*/public_html></code> はマッチしませんが、
600 <code><Directory /home/*/public_html></code> はマッチします。
603 <div class="example"><p><code>
604 <Directory /usr/local/httpd/htdocs><br />
605 <span class="indent">
606 Options Indexes FollowSymLinks<br />
612 <p><var>directory-path</var> 引数には注意してください: その引数は
613 Apache がファイルをアクセスするために使うファイルシステムのパスに
614 そのままマッチする必要があります。ある <code><Directory></code> に
615 適用されるディレクティブは、別のシンボリックリンクをたどったりして
616 同じディレクトリを違うパスでアクセスした場合には適用されません。</p>
619 <p><code>~</code> という文字を
620 付加することで拡張正規表現を利用することもできます。
623 <div class="example"><p><code>
624 <Directory ~ "^/www/.*/[0-9]{3}">
627 <p>といった指定の場合、<code>/www/</code> 以下にある数字
628 3 文字のディレクトリにマッチします。</p>
630 <p>もし複数の (正規表現以外の) <code class="directive"><Directory></code>セクションが
631 ドキュメントを含むディレクトリ (やその上位ディレクトリのどれか) とマッチしたならば、
632 <a href="#accessfilename">.htaccess</a> ファイルのディレクティブも読み込みつつ、
636 <div class="example"><p><code>
637 <Directory /><br />
638 <span class="indent">
639 AllowOverride None<br />
641 </Directory><br />
643 <Directory /home/><br />
644 <span class="indent">
645 AllowOverride FileInfo<br />
650 <p>と設定し、ドキュメント <code>/home/web/dir/doc.html</code> への
651 アクセスがあった場合には以下のように動作します:</p>
654 <li><code>AllowOverride None</code> が適用される。
655 (<code>.htaccess</code> ファイルは無効になる)</li>
657 <li><code>AllowOverride FileInfo</code> が適用される
658 (<code>/home</code> ディレクトリに対して)。</li>
660 <li><code>/home/.htaccess</code>, <code>/home/web/.htaccess</code>,
661 <code>/home/web/.htaccess</code> の順にそれらのファイル中の
662 FileInfo ディレクティブが適用される。</li>
665 <p>正規表現は、通常のセクションがすべて適用されるまで
667 その後、全ての正規表現が設定ファイルに現れた順で試されます。
670 <div class="example"><p><code>
671 <Directory ~ abc$><br />
672 <span class="indent">
673 # ... directives here ...<br />
678 <p>正規表現のセクションはすべての通常の <code class="directive"><Directory></code> と
679 <code>.htaccess</code> の適用が終わるまで考慮されません。
680 その後で、正規表現は <code>/home/abc/public_html/abc</code> にマッチし、
681 対応する <code class="directive"><Directory></code> が適用されます。</p>
683 <p><strong>Apache のデフォルトでは <code><Directory /></code> へのアクセスは
684 <code>Allow from All</code> になっていることに注意してください。
685 これは、URL からマップされたどのファイルでも Apache は送るということです。
686 これは以下のようにして変更することが推奨されています。</strong></p>
688 <div class="example"><p><code>
689 <Directory /><br />
690 <span class="indent">
691 Order Deny,Allow<br />
697 <p><strong>そしてアクセスを<em>可能にしたい</em>ディレクトリに対して
699 このあたりについては、<a href="../misc/security_tips.html">セキュリティに関するコツ</a>を
700 参照してください。</strong></p>
702 <p>ディレクトリセクションは httpd.conf ファイル書きます。
703 <code class="directive"><Directory></code>
704 ディレクティブは入れ子にすることができず、
705 <code class="directive"><a href="#limit"><Limit></a></code> や <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> セクションの中にも
711 <li>リクエストを受けた際にこれらの異なるセクションが
712 組み合わされる方法については <a href="../sections.html">
713 <Directory>, <Location>, <Files> セクションの動作法</a></li>
716 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
717 <div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a> <a name="directorymatch" id="directorymatch">ディレクティブ</a></h2>
718 <table class="directive">
719 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>正規表現にマッチするファイルシステムのディレクトリと
720 サブディレクトリとのみに適用されるディレクティブを囲む</td></tr>
721 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><DirectoryMatch <var>regex</var>>
722 ... </DirectoryMatch></code></td></tr>
723 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
724 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
725 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
727 <p><code class="directive"><a href="#directory"><Directory></a></code>
728 ディレクティブと同様に、<code class="directive"><DirectoryMatch></code>
729 と <code></DirectoryMatch></code> は指定されたディレクトリと
730 そのサブディレクトリにのみ適用されるディレクティブ群を囲います。
731 しかし、このディレクティブは引数として正規表現をとります。例えば:</p>
733 <div class="example"><p><code>
734 <DirectoryMatch "^/www/.*/[0-9]{3}">
737 <p>は /www/ 以下にある数字 3 文字のディレクトリにマッチします。</p>
742 <li>通常の <code class="directive"><Directory></code> と正規表現の指定が
743 適用される順番については <code class="directive"><a href="#directory"><Directory></a></code></li>
744 <li>リクエストを受けた際にこれらの異なるセクションが
745 組み合わされる方法については <a href="../sections.html">
746 <Directory>, <Location>, <Files> セクションの動作法</a></li>
749 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
750 <div class="directive-section"><h2><a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a> <a name="documentroot" id="documentroot">ディレクティブ</a></h2>
751 <table class="directive">
752 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ウェブから見えるメインのドキュメントツリーになる
754 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DocumentRoot <var>directory-path</var></code></td></tr>
755 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr>
756 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
757 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
758 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
760 <p>このディレクティブは、<code>httpd</code> がファイルを提供するディレクトリを設定します。
761 <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> のようなディレクティブにマッチしない場合には、
762 ドキュメントの (訳注:ファイルシステム上の) パスを生成するために、
763 リクエストされた URL のパス部分をドキュメントルートに付与します。
766 <div class="example"><p><code>
767 DocumentRoot /usr/web
771 <code>http://www.my.host.com/index.html</code> へのアクセスがあれば
772 <code>/usr/web/index.html</code> が返されます。</p>
774 <p><code class="directive">DocumentRoot</code> は最後のスラッシュ無しで
779 <li><a href="../urlmapping.html">URL をファイルシステムの位置に
783 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
784 <div class="directive-section"><h2><a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a> <a name="enablemmap" id="enablemmap">ディレクティブ</a></h2>
785 <table class="directive">
786 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>配送中にファイルを読み込むためにメモリマッピングを
788 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>EnableMMAP On|Off</code></td></tr>
789 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>EnableMMAP On</code></td></tr>
790 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
791 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
792 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
793 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
795 <p>このディレクティブは配送中にファイルの内容を読み込む必要があるときに
796 <code>httpd</code> がメモリマッピングを使うかどうかを制御します。デフォルトでは、
797 例えば、<code class="module"><a href="../mod/mod_include.html">mod_include</a></code> を使って SSI ファイルを配送
798 するときのように、ファイルの途中のデータをアクセスする必要があるときには
799 Apache は OS がサポートしていればファイルをメモリにマップします。</p>
802 このメモリマップは性能の向上を持たらすことがあります。
803 しかし、環境によっては運用上の問題を防ぐためにメモリマッピングを
804 使用しないようにした方が良い場合もあります:</p>
807 <li>マルチプロセッサシステムの中にはメモリマッピングをすると <code>httpd</code> の
809 <li>NFS マウントされた <code class="directive"><a href="#documentroot">DocumentRoot</a></code>
810 では、<code>httpd</code> がメモリマップしている間にファイルが削除されたり
811 短くなったりしたときに起こるセグメンテーションフォールトのために
812 <code>httpd</code> がクラッシュする可能性があります。</li>
815 <p>これらの問題に当てはまるサーバの設定の場合は、以下のようにして
816 ファイルの配送時のメモリマッピングを使用不可にしてください:</p>
818 <div class="example"><p><code>
822 <p>NFS マウントされたファイルには、問題のあるファイルにのみ明示的に
825 <div class="example"><p><code>
826 <Directory "/path-to-nfs-files">
827 <span class="indent">
834 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
835 <div class="directive-section"><h2><a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a> <a name="enablesendfile" id="enablesendfile">ディレクティブ</a></h2>
836 <table class="directive">
837 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ファイルのクライアントへの配送時にカーネルの sendfile サポートを
839 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>EnableSendfile On|Off</code></td></tr>
840 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>EnableSendfile On</code></td></tr>
841 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
842 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
843 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
844 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
845 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>バージョン 2.0.44 以降で使用可能</td></tr>
847 <p>このディレクティブはクライアンにファイルの内容を送るときに
848 <code>httpd</code> がカーネルの
849 sendfile サポートを使うかどうかを制御します。デフォルトでは、
850 例えば静的なファイルの配送のように、リクエストの処理にファイルの
851 途中のデータのアクセスを必要としないときには、Apache は OS が
852 サポートしていればファイルを読み込むことなく sendfile を使って
855 <p>sendfile は read と send を別々に行なうことと、バッファの割り当てを
856 回避します。しかし、プラットフォームやファイルシステムの中には
857 運用上の問題を避けるためにこの機能を使用不可にした方が良い場合があります:</p>
860 <li>プラットフォームの中にはビルドシステムが検知できなかった、壊れた
861 sendfile のサポートが存在するものがあります。これは特に
862 バイナリが別のマシンでビルドされ、壊れた sendfile のあるマシンに
864 <li>Linux では、sendfile を用いると、
865 IPv6 使用時に存在する特定ネットワークカードの TCP-checksum
866 オフロードのバグを踏んでしまいます。</li>
867 <li>ネットワークマウントされた <code class="directive"><a href="#documentroot">DocumentRoot</a></code>
869 では、カーネルは自身のキャッシュを使ってネットワークからのファイルを
870 送ることができないことがあります。</li>
873 <p>これらの問題に当てはまるサーバの設定の場合は、以下のようにして
874 この機能を使用不可にしてください:</p>
877 <div class="example"><p><code>
881 <p>NFS や SMB マウントされたファイルには、問題のあるファイルにのみ明示的に
884 <div class="example"><p><code>
885 <Directory "/path-to-nfs-files">
886 <span class="indent">
893 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
894 <div class="directive-section"><h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a> <a name="errordocument" id="errordocument">ディレクティブ</a></h2>
895 <table class="directive">
896 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>エラーが発生したときにサーバがクライアントに送るもの</td></tr>
897 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ErrorDocument <var>error-code document</var></code></td></tr>
898 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
899 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
900 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
901 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
902 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0 ではテキストをクウォートする構文が以前のバージョンから
905 <p>問題やエラーが発生したときの動作として、
906 Apache には以下の四つのうち一つの動作を設定することができます。</p>
909 <li>Apache 標準の簡単なエラーメッセージを表示</li>
911 <li>自分で指定したメッセージを表示</li>
913 <li>問題やエラーの処理をする為に、自サーバ内の
914 <var>URL-path</var> へリダイレクト</li>
916 <li>問題やエラーの処理をする為に、外部の <var>URL</var> へリダイレクト</li>
919 <p>最初のものがデフォルトの動作で、2 番目から 4 番目は、
920 <code class="directive">ErrorDocument</code>ディレクティブにより、
921 HTTP のレスポンスコードと、メッセージか URL を指定することで設定します。
922 Apache が問題もしくはエラーに関する追加情報を提供することがあります。</p>
924 <p>URL の場合は、ローカルの URL の指定としてスラッシュで始まる (/) パスか、
925 クライアントが解釈できるフル URL を指定します。<br />
926 もしくは、ブラウザに表示されるメッセージを指定できます。
929 <div class="example"><p><code>
930 ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
931 ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
932 ErrorDocument 401 /subscription_info.html<br />
933 ErrorDocument 403 "Sorry can't allow you access today"
936 <p>加えて、特別な値 <code>default</code> を使って Apache に
937 ハードコードされている簡単なメッセージを指定することができます。
938 通常は必要ではありませんが、<code>default</code> を使うと
939 既存の <code class="directive">ErrorDocument</code> ディレクティブの設定を
940 継承するところで、Apache のハードコードされた簡単なメッセージに
943 <div class="example"><p><code>
944 ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
945 <Directory /web/docs><br />
946 <span class="indent">
947 ErrorDocument 404 default<br />
952 <p>リモート URL (例えば、頭に <code>http</code> と付与した方法) を
953 <code class="directive">ErrorDocument</code> に指定するとき、
954 たとえ文書が同じサーバにあろうとも、ドキュメントがどこにあるかを通知するために、
955 Apache はリダイレクトをクライアントに送出するということに、注意してください。
956 これにはいろいろと関連して起こる問題があります。
957 中でも最も重要なのは、クライアントは元々のエラーステータスコードを受け取らず、
958 代わりにリダイレクトのステータスコードを受け取るということです。
959 これにより、ステータスコードを使って URL が有効であるかどうかを決定しようとする
960 ウェブロボットやその他クライアントを、混乱させるかもしれません。
961 さらに、<code>ErrorDocument 401</code> にリモートの URL を指定すると、
962 クライアントは 401 というステータスコードを受け取らないため、
963 パスワードをユーザーに入力要求しなければならないことがわかりません。
964 従って、<strong><code>ErrorDocument 401</code> というディレクティブを使う場合は、
965 必ずローカルな文書を参照しなければなりません。</strong></p>
967 <p>Microsoft Internet Explorer (MSIE) はデフォルトではサーバが生成したエラーメッセージが
968 「小さすぎる」ときには無視をして自分自身の「やさしい」エラーメッセージで
969 置換します。サイズのしきい値はエラーの種類によって異なりますが、
970 一般的にはエラーの文書を 512 バイトよりも多きくすると、MSIE は
971 サーバが生成したエラーを隠さずに表示します。詳しい情報は Microsoft
972 Knowledge Base の記事 <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>
975 <p>2.0 より前のバージョンでは、対になっていない二重引用符を
976 先頭に付けることによりメッセージであることを指定していました。</p>
981 <li><a href="../custom-error.html">カスタマイズ可能な
982 エラー応答のドキュメンテーション</a></li>
985 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
986 <div class="directive-section"><h2><a name="ErrorLog" id="ErrorLog">ErrorLog</a> <a name="errorlog" id="errorlog">ディレクティブ</a></h2>
987 <table class="directive">
988 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバがエラーをログ収集する場所</td></tr>
989 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</code></td></tr>
990 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</code></td></tr>
991 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
992 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
993 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
995 <p><code class="directive">ErrorLog</code> ディレクティブは、
998 <var>file-path</var> が絶対パスでないときは、<code class="directive"><a href="#serverroot">ServerRoot</a></code> からの相対パスとみなされます。</p>
1000 <div class="example"><h3>例</h3><p><code>
1001 ErrorLog /var/log/httpd/error_log
1004 <p><var>file-path</var> がパイプ (|) から始まる場合は、
1005 エラーログを処理するために実行されるコマンドが
1008 <div class="example"><h3>例</h3><p><code>
1009 ErrorLog "|/usr/local/bin/httpd_errors"
1012 <p>ファイル名の変わりに <code>syslog</code> と指定することによって、
1013 システムがサポートしていれば syslogd(8) を利用したロギングが有効になります。
1014 デフォルトでは、<code>local7</code> ファシリティとなりますが、
1015 <code>syslog:<var>facility</var></code> といった形で記述することにより、
1016 通常 syslog(1) のドキュメントで説明されているファシリティの一つを使うように
1019 <div class="example"><h3>例</h3><p><code>
1020 ErrorLog syslog:user
1024 ログファイルを格納するディレクトリが、サーバを起動したユーザ以外の
1025 ユーザによって書き込める場合にセキュリティが破られる可能性があることに
1026 関する詳細は <a href="../misc/security_tips.html#serverroot">セキュリティに関するコツ</a> を
1028 <div class="warning"><h3>注</h3>
1029 <p>Unix 以外のプラットフォームでファイルのパスを入力するときは、
1030 プラットフォームがバックスラッシュの使用を許していたとしても、
1031 確実にスラッシュのみが使用されるように注意してください。一般的には、
1032 設定ファイル全般でスラッシュのみを使う方が良いでしょう。</p>
1037 <li><code class="directive"><a href="#loglevel">LogLevel</a></code></li>
1038 <li><a href="../logs.html">Apache ログファイル</a></li>
1041 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1042 <div class="directive-section"><h2><a name="FileETag" id="FileETag">FileETag</a> <a name="fileetag" id="fileetag">ディレクティブ</a></h2>
1043 <table class="directive">
1044 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ETag HTTP 応答ヘッダを作成するために使用される
1046 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>FileETag <var>component</var> ...</code></td></tr>
1047 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>FileETag INode MTime Size</code></td></tr>
1048 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
1049 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
1050 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1051 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1054 <code class="directive">FileETag</code> ディレクティブは
1055 ドキュメントがファイルに基づいたものであるときに、
1056 <code>ETag</code> (エンティティタグ) 応答ヘッダフィールドを作成するときに使用する
1057 ファイルの属性を設定します。 (<code>ETag</code> の値はネットワークの帯域を節約するための
1058 キャッシュの管理で使われます。) Apache 1.3.22 以前では、<code>ETag</code> の値は
1059 <em>常に</em>ファイルの inode, サイズ、最終修正時刻 (mtime) から作成
1060 されていました。<code class="directive">FileETag</code> ディレクティブにより、これらのどれを使うかを
1061 選ぶことができます。認識されるキーワードは:
1065 <dt><strong>INode</strong></dt>
1066 <dd>ファイルの inode 番号を計算に使います</dd>
1067 <dt><strong>MTime</strong></dt>
1068 <dd>ファイルの最終修正時刻を使います</dd>
1069 <dt><strong>Size</strong></dt>
1070 <dd>ファイルの中身のバイト数を使います</dd>
1071 <dt><strong>All</strong></dt>
1072 <dd>使用可能なすべてのフィールドを使います。
1073 これは <div class="example"><p><code>FileETag INode MTime Size</code></p></div> と等価です。</dd>
1074 <dt><strong>None</strong></dt>
1075 <dd>ドキュメントがファイルに基づいたものでも、<code>ETag</code> フィールドを
1079 <p><code>INode</code>, <code>MTime</code>, <code>Size</code> キーワードには
1080 <code>+</code> や <code>-</code> を前に付けて
1081 指定することもできます。この場合は、より広い範囲から継承された
1082 デフォルトの設定に変更を加えるようになります。そのような接頭辞の
1083 無いキーワードを指定すると、即座に継承した設定を無効にします。</p>
1086 <code>FileETag INode MTime Size</code> があり、
1087 サブディレクトリの設定に <code>FileETag -INode</code> があるときは、
1088 そのサブディレクトリの設定は (設定が上書きされなければサブディレクトリの
1089 サブディレクトリにも継承されます) <code>FileETag MTime Size</code>
1093 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1094 <div class="directive-section"><h2><a name="Files" id="Files"><Files></a> <a name="files" id="files">ディレクティブ</a></h2>
1095 <table class="directive">
1096 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>マッチするファイル名に適用されるディレクティブを囲む</td></tr>
1097 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><Files <var>filename</var>> ... </Files></code></td></tr>
1098 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
1099 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr>
1100 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1101 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1103 <p><code class="directive"><Files></code> ディレクティブは、
1104 その中にあるディレクティブの適用範囲をファイル名で制限します。
1105 <code class="directive"><a href="#directory"><Directory></a></code> ディレクティブや <code class="directive"><a href="#location"><Location></a></code> ディレクティブと
1107 これは、<code></Files></code> ディレクティブと対に
1109 このセクション中のディレクティブは、ベース名 (ファイル名の最後の部分)
1110 が指定されたファイル名にマッチするすべてのオブジェクトに適用されます。
1111 <code class="directive"><Files></code> セクションは
1112 <code class="directive"><Directory></code> セクションと
1113 <code>.htaccess</code> が読み込まれた後、
1114 <code class="directive"><Location></code> セクションよりは先に
1116 <code class="directive"><Files></code> は、
1117 <code class="directive"><Directory></code> セクション内に
1119 ファイルシステムの一部にのみ限定して適用させることができます。</p>
1121 <p><var>filename</var> 引数は、ファイル名かワイルドカード文字列
1122 で、ワイルドカードでは <code>?</code> は一つの文字、<code>*</code> は任意の文字列にマッチします。
1123 <code>~</code> という文字を付加することで拡張正規表現を使うこともできます。
1126 <div class="example"><p><code>
1127 <Files ~ "\.(gif|jpe?g|png)$">
1130 <p>とすることにより、一般的なインターネットの画像フォーマットにマッチします。
1132 <code class="directive"><a href="#filesmatch"><FilesMatch></a></code> を使う方が
1135 <p>ちなみに、<code class="directive"><a href="#directory"><Directory></a></code> と <code class="directive"><a href="#location"><Location></a></code> セクションとは異なり、
1136 <code class="directive"><Files></code>
1137 は <code>.htaccess</code> ファイル内で利用することができます。
1138 これにより、ユーザがファイル毎にアクセスの制御を行なうことができるように
1144 <li>リクエストを受けた際にこれらの異なるセクションが
1145 組み合わされる方法については <a href="../sections.html">
1146 <Directory>, <Location>, <Files> セクションの動作法</a></li>
1149 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1150 <div class="directive-section"><h2><a name="FilesMatch" id="FilesMatch"><FilesMatch></a> <a name="filesmatch" id="filesmatch">ディレクティブ</a></h2>
1151 <table class="directive">
1152 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>正規表現にマッチするファイル名に適用される
1153 ディレクティブを囲む</td></tr>
1154 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><FilesMatch <var>regex</var>> ... </FilesMatch></code></td></tr>
1155 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
1156 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr>
1157 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1158 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1160 <p><code class="directive"><FilesMatch></code> ディレクティブは、
1161 <code class="directive"><a href="#files"><Files></a></code>
1162 ディレクティブ同様にその中にあるディレクティブの適用範囲をファイル名で制限します。ただし、
1163 このディレクティブには正規表現を指定します。
1166 <div class="example"><p><code>
1167 <FilesMatch "\.(gif|jpe?g|png)$">
1170 <p>は一般的なインターネットの画像形式にマッチします。</p>
1174 <li>リクエストを受けた際にこれらの異なるセクションが
1175 組み合わされる方法については <a href="../sections.html">
1176 <Directory>, <Location>, <Files> セクションの動作法</a></li>
1179 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1180 <div class="directive-section"><h2><a name="ForceType" id="ForceType">ForceType</a> <a name="forcetype" id="forcetype">ディレクティブ</a></h2>
1181 <table class="directive">
1182 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>すべてのマッチするファイルが指定の MIME コンテントタイプで
1184 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ForceType <var>MIME-type</var>|None</code></td></tr>
1185 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
1186 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
1187 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1188 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1189 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0 で core に移動</td></tr>
1191 <p><code>.htaccess</code> や <code class="directive"><a href="#directory"><Directory></a></code> セクション、
1192 <code class="directive"><a href="#location"><Location></a></code> セクション、
1193 <code class="directive"><a href="#files"><Files></a></code> セクションに
1194 書かれた場合、このディレクティブはそこにあるすべてのファイルが
1195 <var>MIME-type</var>
1196 で指定されたコンテントタイプとして扱われるようにします。たとえば、
1197 GIF ファイルばかりのディレクトリがあって、すべてのファイルを <code>.gif</code>
1198 で終わらせたくはないときに、以下のものを使用します:</p>
1200 <div class="example"><p><code>
1204 <p><code class="directive"><a href="#defaulttype">DefaultType</a></code> と違って
1205 このディレクティブはメディアタイプを決めることができるかもしれない
1206 ファイルの拡張子も含め、すべての MIME タイプの関連付けを
1207 上書きすることに注意してください。</p>
1209 <p><code>None</code> という値を使うことで <code class="directive">ForceType</code> の
1212 <div class="example"><p><code>
1213 # force all files to be image/gif:<br />
1214 <Location /images><br />
1215 <span class="indent">
1216 ForceType image/gif<br />
1218 </Location><br />
1220 # but normal mime-type associations here:<br />
1221 <Location /images/mixed><br />
1222 <span class="indent">
1223 ForceType None<br />
1229 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1230 <div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a> <a name="hostnamelookups" id="hostnamelookups">ディレクティブ</a></h2>
1231 <table class="directive">
1232 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントの IP アドレスの DNS ルックアップを
1234 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr>
1235 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>HostnameLookups Off</code></td></tr>
1236 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr>
1237 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1238 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1240 <p>このディレクティブは、ホスト名をログ収集できるように
1242 (さらに、CGI/SSI に <code>REMOTE_HOST</code> 変数として渡します)。
1243 <code>Double</code>を指定した場合、2 重の逆引きを行ないます。
1244 つまり、逆引きの後に、その結果に対して正引きを行ないます。正引きの
1245 結果の IP アドレスの中にオリジナルのアドレスと一致するものがなければ
1246 なりません。("tcpwrappers" の用語では PARANOID と呼ばれています。)</p>
1248 <p><code class="module"><a href="../mod/mod_access.html">mod_access</a></code> でホスト名によるアクセス
1250 設定の如何によらず 2 重の逆引きが実行されます。
1251 これは、セキュリティを保つために必要です。
1252 <code>HostnameLookups Double</code> を設定しない限り、
1253 他の部分はこの 2 重逆引きの結果を使うことはできません。
1254 例えば、<code>HostnameLookups On</code> と設定してある状態で、
1255 ホスト名によるアクセス制限を行なったオブジェクトへの
1256 リクエストを受けたとすると、2 重の逆引きが成功するか否かによらず、
1257 <code>REMOTE_HOST</code> には通常の逆引き結果が渡されます。</p>
1260 本当に逆引きを必要としているわけではないサイトの
1261 ネットワークトラフィックを低減させるために、<code>Off</code> になっています。
1262 ルックアップによる余計な遅延がなくなるため、
1264 DNS のルックアップには、かなりの時間が必要となる場合が多く、
1265 負荷の高いサイトではこのディレクティブは <code>Off</code> にすべきです。
1266 なお、<var>/support</var> ディレクトリに含まれ、デフォルトでは
1267 インストールディレクトリの <code>bin</code> サブディレクトリに
1268 インストールされる <a href="../programs/logresolve.html">logresolve</a> ユーティリティにより、
1269 Apache の動作とは別に、ログに残されている IP アドレスからホスト名を
1270 ルックアップすることが可能です。</p>
1273 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1274 <div class="directive-section"><h2><a name="IdentityCheck" id="IdentityCheck">IdentityCheck</a> <a name="identitycheck" id="identitycheck">ディレクティブ</a></h2>
1275 <table class="directive">
1276 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リモートユーザの RFC1413 によるアイデンティティのロギングを
1278 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>IdentityCheck On|Off</code></td></tr>
1279 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>IdentityCheck Off</code></td></tr>
1280 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr>
1281 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1282 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1284 <p>このディレクティブは、クライアントマシン上で
1285 identd やそれに類似したデーモンが動作しているときに、
1286 それぞれの接続に対して RFC 1413 に準処したリモートユーザの
1288 この情報は、アクセスログに収集されます。</p>
1290 <p>ここで得られた情報は簡単なユーザ追跡に使う以外は、
1291 まったく信頼するべきではありません。</p>
1293 <p>すべてのリクエストに対してルックアップが行なわれますので、
1294 深刻な遅延の問題を起こすかもしれないことに注意してください。
1295 (訳注: 例えばクライアント側に) ファイアウォールがあると、
1296 ルックアップが失敗し、各リクエストに 30 秒の遅延が加わることに
1298 従って、一般的にはインターネットからアクセス可能なパブリックなサーバで
1302 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1303 <div class="directive-section"><h2><a name="IfDefine" id="IfDefine"><IfDefine></a> <a name="ifdefine" id="ifdefine">ディレクティブ</a></h2>
1304 <table class="directive">
1305 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>起動時にテストが真であるときのみに処理されるディレクティブを
1307 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><IfDefine [!]<var>parameter-name</var>> ...
1308 </IfDefine></code></td></tr>
1309 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
1310 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr>
1311 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1312 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1314 <p><code><IfDefine <var>test</var>>...</IfDefine></code>
1316 ディレクティブを条件付きで指定するために利用します。
1317 <code class="directive"><IfDefine></code> セクションに
1318 含まれるディレクティブは、<var>test</var>が
1320 もし <var>test</var> が定義されていなければ、
1321 開始と終了の指定の間のディレクティブは無視されます。</p>
1323 <p><code class="directive"><IfDefine></code> セクションディレクティブに
1324 指定する <var>test</var> は、
1325 次の二つの形式のうちの一つをとります:</p>
1328 <li><var>parameter-name</var></li>
1330 <li><code>!</code><var>parameter-name</var></li>
1333 <p>前者の場合には、<var>parameter-name</var> と名付けられたパラメータが
1334 定義されていれば開始と終了の間のディレクティブが処理されます。
1335 後者の場合は逆で、<em>parameter-name</em> が指定されて<strong>いない</strong>
1338 <p><var>parameter-name</var> 引数は、サーバを起動する際に
1339 <code>httpd</code> のコマンドラインに
1340 <code>-D<var>parameter-</var></code> という形で指定すると定義されます。 </p>
1342 <p><code class="directive"><IfDefine></code> セクションは
1343 入れ子にすることができ、複数のパラメータによるテストをするために使用できます。
1346 <div class="example"><p><code>
1347 httpd -DReverseProxy ...<br />
1350 <IfDefine ReverseProxy><br />
1351 <span class="indent">
1352 LoadModule rewrite_module modules/mod_rewrite.so<br />
1353 LoadModule proxy_module modules/libproxy.so<br />
1359 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1360 <div class="directive-section"><h2><a name="IfModule" id="IfModule"><IfModule></a> <a name="ifmodule" id="ifmodule">ディレクティブ</a></h2>
1361 <table class="directive">
1362 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>モジュールの存在するかしないかに応じて処理される
1363 ディレクティブを囲む</td></tr>
1364 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><IfModule [!]<var>module-name</var>> ...
1365 </IfModule></code></td></tr>
1366 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
1367 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr>
1368 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1369 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1371 <p><code><IfModule <var>test</var>>...</IfModule></code>
1372 セクションは、モジュールが存在するときに処理されるディレクティブを
1374 <code class="directive"><IfModule></code> セクションに
1375 含まれるディレクティブは、<var>test</var>
1376 で指定するモジュールが組み込まれているときのみ処理されます。
1377 もし <var>test</var> が組み込まれていなければ、開始と終了の間のディレクティブ
1380 <p><code class="directive"><IfModule></code> セクションディレクティブに
1381 指定する <var>test</var> は、
1382 次の二つの形式のうちの一つをとります。</p>
1385 <li><var>module name</var></li>
1387 <li>!<var>module name</var></li>
1390 <p>前者の場合は、<var>module name</var> と名付けられたモジュールが
1392 (コンパイル済みのものと、<code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> を利用して
1394 開始と終了の間のディレクティブが処理されます。
1395 後者の場合は逆で、<var>module name</var> が組み込まれて<strong>いない</strong>
1398 <p><var>module name</var> 引数は、
1399 コンパイルをした時のモジュールのファイル名です。
1401 <code>mod_rewrite.c</code> です。
1402 モジュールが複数のソースファイルから構成されている場合は、文字列
1403 <code>STANDARD20_MODULE_STUFF</code> があるファイルの名前を
1406 <p><code class="directive"><IfModule></code> セクションは
1408 複数のモジュールのテストを行なうために使用できます。</p>
1410 <div class="note">特定のモジュールの存在に関わらず動作する
1411 設定ファイルの原本が必要なときにのみこのセクションを使用してください。
1413 <code class="directive"><IfModule></code> セクションの中に
1417 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1418 <div class="directive-section"><h2><a name="Include" id="Include">Include</a> <a name="include" id="include">ディレクティブ</a></h2>
1419 <table class="directive">
1420 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバ設定ファイル中から他の設定ファイルを取り込む</td></tr>
1421 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Include <var>file-path</var>|<var>directory-path</var></code></td></tr>
1422 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr>
1423 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1424 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1425 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>ワイルドカードによるマッチは 2.0.41 以降で使用可能</td></tr>
1427 <p>このディレクティブにより、サーバの設定ファイルから
1428 他の設定ファイルをインクルードすることができます。</p>
1430 <p>複数のファイルをアルファベット順に一度に読み込むために、
1431 シェル形式 (<code>fnmatch</code>) のワイルドカード文字を使うことができます。
1432 さらに、<code class="directive">Include</code> にディレクトリを指定した場合は、
1433 ディレクトリとそのサブディレクトリ内の全てのファイルを
1434 アルファベット順に読み込んで、設定ファイルとして処理します。
1435 しかし、ディレクトリ全体を読み込むのはお勧めできません。
1436 ふとしたことから <code>httpd</code> が読み込みに失敗するような
1437 一時ファイルをディレクトリに残してしまうようなことがよくあるからです。</p>
1439 <p>指定するファイルパスは絶対パスか、
1440 <code class="directive"><a href="#serverroot">ServerRoot</a></code> ディレクトリからの
1445 <div class="example"><p><code>
1446 Include /usr/local/apache2/conf/ssl.conf<br />
1447 Include /usr/local/apache2/conf/vhosts/*.conf
1450 <p><code class="directive"><a href="#serverroot">ServerRoot</a></code> からの相対パスの場合は:</p>
1452 <div class="example"><p><code>
1453 Include conf/ssl.conf<br />
1454 Include conf/vhosts/*.conf
1457 <p><code>apachectl configtest</code> を実行すると、設定をチェックしている時に
1458 読み込まれたファイルのリストが表示されます:</p>
1460 <div class="example"><p><code>
1461 root@host# apachectl configtest<br />
1462 Processing config file: /usr/local/apache2/conf/ssl.conf<br />
1463 Processing config file: /usr/local/apache2/conf/vhosts/vhost1.conf<br />
1464 Processing config file: /usr/local/apache2/conf/vhosts/vhost2.conf<br />
1470 <li><a href="../programs/apachectl.html">apachectl</a></li>
1473 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1474 <div class="directive-section"><h2><a name="KeepAlive" id="KeepAlive">KeepAlive</a> <a name="keepalive" id="keepalive">ディレクティブ</a></h2>
1475 <table class="directive">
1476 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>HTTP の持続的な接続を有効にする</td></tr>
1477 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>KeepAlive On|Off</code></td></tr>
1478 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>KeepAlive On</code></td></tr>
1479 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
1480 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1481 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1483 <p>HTTP/1.0 の Keep-Alive 拡張と HTTP/1.1 の持続的接続の機能は、
1484 複数のリクエストが同じ TCP の接続で送られる、長時間持続する
1485 HTTP セッションを提供します。たくさんの画像が
1486 含まれる HTML ドキュメントでは場合によっては遅延時間が 50% 短縮される結果も
1487 でています。Keep-Alive 接続を有効にするには
1488 <code>KeepAlive On</code> と設定します。</p>
1490 <p>HTTP/1.0 に対応したクライアントの際には、
1491 クライアントより特に要求があった場合のみ Keep-Alive 接続となります。
1492 さらに、HTTP/1.0 クライアントでは、コンテンツの容量が先に
1493 (訳注: 要求に対して応答を返す前に) わかる場合のみ Keep-Alive
1495 これは、CGI の出力や SSI のページ、
1496 サーバが生成したディレクトリのリストのような動的コンテンツを
1497 HTTP/1.0 クライアントに送る場合には Keep-Alive 接続を使えないことを意味します。
1498 HTTP/1.1 に対応したクライアントの際には、
1499 特に指定されない限りはデフォルトとして持続的な接続が行なわれます。
1500 クライアントが要求すれば、コンテンツの容量を判別できないものを
1501 持続的な接続を通して送るために、チャンクエンコーディングが用いられます。</p>
1505 <li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li>
1508 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1509 <div class="directive-section"><h2><a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a> <a name="keepalivetimeout" id="keepalivetimeout">ディレクティブ</a></h2>
1510 <table class="directive">
1511 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>持続的な接続で次のリクエストが来るまでサーバが待つ時間</td></tr>
1512 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>KeepAliveTimeout <var>seconds</var></code></td></tr>
1513 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>KeepAliveTimeout 15</code></td></tr>
1514 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
1515 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1516 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1518 <p>接続を閉じる前に、Apache が次のリクエストを何秒待つかを指定します。
1519 リクエストを受け付けた後は、<code class="directive"><a href="#timeout">Timeout</a></code> ディレクティブによって
1520 指定されたタイムアウト値が使われます。</p>
1522 <p><code class="directive">KeepAliveTimeout</code> を大きな値に設定すると、
1523 負荷の高いサーバにおいてはパフォーマンスの問題を引き起こす場合があります。
1524 タイムアウトが長ければ長いほど、より多くのサーバプロセスが
1525 活発でないクライアントからの接続の終了を待ち続けることになります。</p>
1528 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1529 <div class="directive-section"><h2><a name="Limit" id="Limit"><Limit></a> <a name="limit" id="limit">ディレクティブ</a></h2>
1530 <table class="directive">
1531 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>囲いの中にあるアクセス制御の適用を特定の HTTP メソッドのみに
1533 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><Limit <var>method</var> [<var>method</var>] ... > ...
1534 </Limit></code></td></tr>
1535 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
1536 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr>
1537 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1538 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1540 <p>アクセス制御は、通常<strong>全ての</strong>アクセスメソッドに対して
1542 <strong>そうしたことから、大部分の場合にはアクセス制御に関わるディレクティブを
1543 <code class="directive"><Limit></code> セクション内に
1544 書くべきではありません。 </strong></p>
1546 <p><code class="directive"><Limit></code> ディレクティブの
1548 指定された HTTP メソッドに限定するためです。
1549 それ以外のメソッドは、<code class="directive"><Limit></code> で囲われたアクセス制御の
1550 <strong>影響を受けません</strong>。
1551 以下の例は、<code>POST</code>, <code>PUT</code>, <code>DELETE</code> のメソッドに対してのみアクセスの制御を行ない、
1552 それ以外のメソッドについては制限しません:</p>
1554 <div class="example"><p><code>
1555 <Limit POST PUT DELETE><br />
1556 <span class="indent">
1557 Require valid-user<br />
1562 <p>メソッド名には以下の中から一つ以上を列挙することができます:
1564 <code>POST</code>, <code>PUT</code>, <code>DELETE</code>,
1565 <code>CONNECT</code>, <code>OPTIONS</code>,
1566 <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>,
1567 <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>,
1568 <code>LOCK</code>, <code>UNLOCK</code>. <strong>メソッド名は
1569 大文字小文字を区別します。</strong> <code>GET</code> を指定した場合には
1570 <code>HEAD</code> リクエストにも制限がかかります。<code>TRACE</code>
1571 メソッドに制限をかけることはできません。</p>
1573 <div class="warning">アクセス制御が目的の場合は
1574 <code class="directive"><a href="#limit"><Limit></a></code>
1575 セクションの代わりに <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> セクションを使用した方が良いでしょう。
1576 <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>
1577 セクションでは不特定のメソッドに対しても防御できるからです。</div>
1581 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1582 <div class="directive-section"><h2><a name="LimitExcept" id="LimitExcept"><LimitExcept></a> <a name="limitexcept" id="limitexcept">ディレクティブ</a></h2>
1583 <table class="directive">
1584 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>指定されたもの以外の HTTP メソッドにアクセス制御を
1586 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><LimitExcept <var>method</var> [<var>method</var>] ... > ...
1587 </LimitExcept></code></td></tr>
1588 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
1589 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr>
1590 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1591 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1593 <p><code class="directive"><LimitExcept></code> と
1594 <code></LimitExcept></code> は、引数に
1595 <strong>含まれていない</strong>
1596 HTTP のアクセスメソッドに適用するためのアクセス制御
1598 つまり、<code class="directive"><a href="#limit"><Limit></a></code> セクションの反対の動作をし、
1599 標準のメソッドと標準外や未認識のメソッドの場合の両方を設定できます。
1600 <code class="directive"><a href="#limit"><Limit></a></code> のドキュメントも
1605 <div class="example"><p><code>
1606 <LimitExcept POST GET><br />
1607 <span class="indent">
1608 Require valid-user<br />
1610 </LimitExcept>
1615 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1616 <div class="directive-section"><h2><a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a> <a name="limitinternalrecursion" id="limitinternalrecursion">ディレクティブ</a></h2>
1617 <table class="directive">
1618 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>内部リダイレクトと入れ子になったサブリクエストの最大数を決定する</td></tr>
1619 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LimitInternalRecursion <var>number</var> [<var>number</var>]</code></td></tr>
1620 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LimitInternalRecursion 10</code></td></tr>
1621 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
1622 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1623 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1624 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.47 以降で使用可能</td></tr>
1626 <p>内部リダイレクトは例えば <code class="directive">Action</code> ディレクティブを
1627 使っているときに起こります。<code class="directive">Action</code> ディレクティブは
1628 元々のリクエストを CGI スクリプトに内部リダイレクトを行ないます。
1629 サブリクエストはいくつかの URI に対して、リクエストされたときに
1630 何が起こるかを調べるための Apache の機構です。例えば、<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>
1631 は <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> ディレクティブ
1632 がリストするファイルを調べるためにサブリクエストを使います。</p>
1634 <p><code class="directive">LimitInternalRecursion</code> は内部リダイレクトや
1635 サブリクエストが無限ループに陥ったときのサーバクラッシュを防ぎます。
1636 普通、そのようなループは設定に失敗したときに発生します。</p>
1638 <p>このディレクティブは、リクエスト毎に評価される、二つの違う限界値を
1639 設定します。最初の <var>number</var> は、起こり得る
1640 内部リクエストの最大値を設定します。二つめの <var>number</var> は
1641 サブリクエストが入れ子にできる深さを設定します。<var>number</var> を
1642 一つだけ指定したときは、両方の限界値にその値が設定されます。</p>
1644 <div class="example"><h3>例</h3><p><code>
1645 LimitInternalRecursion 5
1649 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1650 <div class="directive-section"><h2><a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a> <a name="limitrequestbody" id="limitrequestbody">ディレクティブ</a></h2>
1651 <table class="directive">
1652 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントから送られる HTTP リクエストのボディの
1654 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LimitRequestBody <var>bytes</var></code></td></tr>
1655 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LimitRequestBody 0</code></td></tr>
1656 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
1657 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr>
1658 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1659 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1661 <p>このディレクティブは、リクエストボディに許されるバイト数、<var>bytes</var>
1662 を 0 (無制限を意味します) から 2147483647 (2GB) までの数値で指定します。</p>
1664 <p><code class="directive">LimitRequestBody</code> ディレクティブは、
1666 (サーバ全体、ディレクトリ、ファイル、ロケーション) 内で
1667 許容する HTTP リクエストメッセージボディのサイズに制限をかけることができます。
1668 クライアントのリクエストがその制限値を越えていれば、
1669 サーバはリクエストを処理せずにエラーを返します。
1670 普通のリクエストメッセージボディのサイズは、リソースの種類や
1671 許可されているメソッドによって大きく変わります。
1672 CGI スクリプトは、よく情報を受信するために
1674 <code>PUT</code> メソッドの実装は、このディレクティブの値として
1675 少なくともあるリソースに対してサーバが受け付けようとする
1676 表現の大きさほどの値を必要とします。</p>
1679 管理者にクライアントからの異常なリクエストを制御できるようにし、
1680 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p>
1682 <p>ある場所へのファイルアップロードを許可する場合に、
1683 アップロードできるファイルのサイズを 100K に制限したければ、
1686 <div class="example"><p><code>
1687 LimitRequestBody 102400
1692 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1693 <div class="directive-section"><h2><a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a> <a name="limitrequestfields" id="limitrequestfields">ディレクティブ</a></h2>
1694 <table class="directive">
1695 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントからの HTTP リクエストのヘッダフィールドの数を
1697 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LimitRequestFields <var>number</var></code></td></tr>
1698 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LimitRequestFields 100</code></td></tr>
1699 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr>
1700 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1701 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1703 <p><var>number</var> には、0 (無制限を意味します) から 32767
1705 デフォルト値は、定数 <code>DEFAULT_LIMIT_REQUEST_FIELDS</code>
1706 によりコンパイル時に定義されます (配布時には 100 と指定されています)。</p>
1708 <p>LimitRequestBody ディレクティブは、
1709 サーバ管理者が HTTP リクエスト中において許可するリクエストヘッダフィールド数を
1711 サーバはこの値には通常のクライアントからのリクエストに含まれるであろう
1712 フィールドの数より大きな値が必要とします。
1713 クライアントにより使われた要求ヘッダーフィールドの数が
1714 20 を超えることはほとんどありませんが、
1715 これは種々のクライアントの実装よって変わり、
1716 詳細なコンテントネゴシエーションをするためのブラウザの設定までにも
1718 オプションの HTTP 拡張はリクエストヘッダフィールドを使って現される場合が
1722 管理者にクライアントからの異常なリクエストを制御できるようにし、
1723 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。
1724 リクエストのフィールドが多過ぎることを意味するエラー応答が
1725 普通のクライアントに返されるような時はこの値を増やしてください。</p>
1729 <div class="example"><p><code>
1730 LimitRequestFields 50
1735 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1736 <div class="directive-section"><h2><a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a> <a name="limitrequestfieldsize" id="limitrequestfieldsize">ディレクティブ</a></h2>
1737 <table class="directive">
1738 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントからの HTTP リクエストのヘッダの
1740 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LimitRequestFieldsize <var>bytes</var></code></td></tr>
1741 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LimitRequestFieldsize 8190</code></td></tr>
1742 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr>
1743 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1744 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1746 <p>このディレクティブは、HTTP リクエストヘッダ内に含めることのできる
1747 バイト数、<var>bytes</var> を
1749 <code>DEFAULT_LIMIT_REQUEST_FIELDSIZE</code> (配布時には 8192 と指定)
1750 で指定された値までの数字で指定します。</p>
1752 <p><code class="directive">LimitRequestFieldSize</code> ディレクティブは、
1753 サーバのコンパイル時に指定したインプットバッファ容量以下に
1754 HTTP リクエストヘッダの許容されるサイズを制限することができます。
1755 サーバは、このディレクティブの値として、
1756 通常のクライアントリクエストから送られた個々のヘッダフィールドに
1758 普通のリクエストヘッダのサイズは、個々のクライアントにより大きく変わり、
1759 詳細なコンテントネゴシエーションをするためのブラウザの設定までにも
1763 管理者にクライアントからの異常なリクエストを制御できるようにし、
1764 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p>
1768 <div class="example"><p><code>
1769 LimitRequestFieldSize 4094
1772 <div class="note">通常はデフォルトから変更する必要はありません。</div>
1776 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1777 <div class="directive-section"><h2><a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a> <a name="limitrequestline" id="limitrequestline">ディレクティブ</a></h2>
1778 <table class="directive">
1779 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントからの HTTP リクエスト行のサイズを制限する</td></tr>
1780 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LimitRequestLine <var>bytes</var></code></td></tr>
1781 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LimitRequestLine 8190</code></td></tr>
1782 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr>
1783 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1784 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1786 <p>このディレクティブは、HTTP リクエスト行内で許容されるバイト数
1787 <var>bytes</var> を 0 からコンパイル時の定数
1788 <code>DEFAULT_LIMIT_REQUEST_LINE</code> (配布時には 8190 と指定)
1789 で指定された値までの数字で指定します。</p>
1791 <p><code class="directive">LimitRequestLine</code> ディレクティブにより、サーバ管理者は
1792 サーバのコンパイル時に指定したインプットバッファ容量以下に
1793 クライアントからの HTTP リクエスト行のサイズの制限を行なうことができます。
1794 リクエスト行は、HTTPメソッド、URI、プロトコルバージョンから成っており、
1795 <code class="directive">LimitRequestLine</code> はサーバへのリクエストに対して
1796 許容するリクエスト URI の長さを制限することになります。
1797 サーバは、<code>GET</code> リクエストのクエリ部分も含めて、リソースの名前が入るに足る
1801 管理者にクライアントからの異常なリクエストを制御できるようにし、
1802 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p>
1806 <div class="example"><p><code>
1807 LimitRequestLine 4094
1810 <div class="note">通常はデフォルトから変更する必要はありません。</div>
1813 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1814 <div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a> <a name="limitxmlrequestbody" id="limitxmlrequestbody">ディレクティブ</a></h2>
1815 <table class="directive">
1816 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>XML 形式のリクエストのボディのサイズを制限する</td></tr>
1817 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LimitXMLRequestBody <var>bytes</var></code></td></tr>
1818 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr>
1819 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
1820 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr>
1821 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1822 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1824 <p>XML 形式のリクエストのボディの最大値を (バイト単位で) 制限します。
1825 値に <code>0</code> を指定するとチェックを無効にします。</p>
1829 <div class="example"><p><code>
1830 LimitXMLRequestBody 0
1835 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1836 <div class="directive-section"><h2><a name="Location" id="Location"><Location></a> <a name="location" id="location">ディレクティブ</a></h2>
1837 <table class="directive">
1838 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>囲んだディレクティブをマッチする URL のみに適用</td></tr>
1839 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><Location
1840 <var>URL-path</var>|<var>URL</var>> ... </Location></code></td></tr>
1841 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
1842 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1843 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1845 <p><code class="directive"><Location></code> ディレクティブは、
1846 URL により中に書かれたディレクティブの適用範囲を制限します。
1847 <code class="directive"><a href="#directory"><Directory></a></code>
1849 <code></Location></code> ディレクティブで終了する
1851 <code class="directive"><Location></code> セクションは、
1852 <code class="directive"><a href="#directory"><Directory></a></code> セクションと
1853 <code>.htaccess</code> の読み込みの後、
1854 <code class="directive"><a href="#files"><Files></a></code> セクションを
1855 適用した後に、設定ファイルに現れた順に処理されます。</p>
1857 <p><code class="directive"><Location></code> セクションは
1858 完全にファイルシステムと関連せずに動作します。このことから導かれる
1859 結果にはいつくか注意する点があります。最も重要なものは、
1860 ファイルシステムの位置へのアクセス制御に <code class="directive"><Location></code> ディレクティブを使うべきではない
1861 ということです。複数の URL がファイルシステムの同じ位置にマップされる
1862 可能がありますので、そのようなアクセス制御は回避されてしまう可能性が
1865 <div class="note"><h3>いつ <code class="directive"><Location></code> を使うか</h3>
1867 <p><code class="directive"><Location></code> ディレクティブは
1868 ファイルシステム外のコンテンツにディレクティブを適用するときに
1869 使用してください。ファイルシステムに存在するコンテンツに対しては、
1870 <code class="directive"><a href="#directory"><Directory></a></code> と <code class="directive"><a href="#files"><Files></a></code> を使ってください。
1871 例外は、<code><Location /></code> で、これはサーバ全体に対して
1875 <p>全ての (プロキシ以外の) リクエストに対し、
1876 URL は <code>/path/</code> という、
1877 接頭辞 <code>http://servername</code> を含まない形でマッチします。
1878 プロキシリクエストの場合には、<code>scheme://servername/path</code>
1879 という接頭辞を含む形でマッチし、接頭辞を含めて指定する必要があります。</p>
1881 <p>URL にはワイルドカードを利用することができます。
1882 <code>?</code> は任意の一文字、<code>*</code> は任意の文字列にマッチします。 </p>
1884 <p><code>~</code> という文字を追加することで、拡張正規表現を
1888 <div class="example"><p><code>
1889 <Location ~ "/(extra|special)/data">
1892 <p>は URL に <code>/extra/data</code> か <code>/special/data</code> という文字列が
1894 <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> ディレクティブは
1895 <code class="directive"><Location></code> の正規表現
1898 <p><code class="directive"><Location></code> 機能は、<code class="directive"><a href="#sethandler">SetHandler</a></code> ディレクティブと
1900 例えば、<code>foo.com</code> のブラウザからのみステータスの参照を有効にしたければ、
1903 <div class="example"><p><code>
1904 <Location /status><br />
1905 <span class="indent">
1906 SetHandler server-status<br />
1907 Order Deny,Allow<br />
1909 Allow from .foo.com<br />
1914 <div class="note"><h3>/ (スラッシュ) に関する注</h3>
1915 <p>スラッシュ文字は、URL 内に現れる場所に応じて変化する
1917 ファイルシステムにおいて利用する場合には複数のスラッシュでも一つの
1918 スラッシュとして扱われることが多いですが、
1919 (<em>すなわち</em>、<code>/home///foo</code> は
1920 <code>/home/foo</code> と同じいったように)
1921 URL においては必ずしもそうなるわけではありません。
1922 <code class="directive"><a href="#locationmatch"><LocationMatch></a></code>
1924 <code class="directive"><Location></code> ディレクティブで、
1925 複数のスラッシュにマッチさせたいときには、、明示的に記述する
1928 <p>例えば、<code><LocationMatch ^/abc></code> は、
1929 <code>/abc</code> というリクエスト URL にマッチしますが、
1930 <code>//abc</code> というリクエスト URL にはマッチしません。
1931 (正規表現でない) <code class="directive"><Location></code>
1933 proxy リクエストに対して利用する際には同様の振る舞いをしますが、
1934 (正規表現でない) <code class="directive"><Location></code> を proxy
1935 でないリクエストに対して利用する際には、
1936 一つのスラッシュで複数のスラッシュにマッチします。
1937 例えば、<code><Location /abc/def></code> と指定し、
1938 <code>/abc//def</code> というリクエストがあれば、
1939 マッチすることになります。</p></div>
1944 <li>リクエストを受けた際にこれらの異なるセクションが
1945 組み合わされる方法については <a href="../sections.html">
1946 <Directory>, <Location>, <Files> セクションの動作法</a></li>
1949 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1950 <div class="directive-section"><h2><a name="LocationMatch" id="LocationMatch"><LocationMatch></a> <a name="locationmatch" id="locationmatch">ディレクティブ</a></h2>
1951 <table class="directive">
1952 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>囲んだディレクティブを正規表現にマッチする URL のみに
1954 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><LocationMatch
1955 <var>regex</var>> ... </LocationMatch></code></td></tr>
1956 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
1957 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1958 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1960 <p><code class="directive"><LocationMatch></code> ディレクティブは、
1961 <code class="directive"><a href="#location"><Location></a></code> と同じ様に
1962 URL により中に書かれたディレクティブの適用範囲を制限します。
1963 但し、引数は普通の文字列ではなく、正規表現となります。例えば、</p>
1965 <div class="example"><p><code>
1966 <LocationMatch "/(extra|special)/data">
1969 <p>は URL に <code>/extra/data</code> か <code>/special/data</code>
1970 という文字列が含まれている場合にマッチします。</p>
1974 <li>リクエストを受けた際にこれらの異なるセクションが
1975 組み合わされる方法については <a href="../sections.html">
1976 <Directory>, <Location>, <Files> セクションの動作法</a></li>
1979 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1980 <div class="directive-section"><h2><a name="LogLevel" id="LogLevel">LogLevel</a> <a name="loglevel" id="loglevel">ディレクティブ</a></h2>
1981 <table class="directive">
1982 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ErrorLog の冗長性を制御する</td></tr>
1983 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LogLevel <var>level</var></code></td></tr>
1984 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LogLevel warn</code></td></tr>
1985 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
1986 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
1987 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
1989 <p><code class="directive">LogLevel</code> は、エラーログ (<code class="directive"><a href="#errorlog">ErrorLog</a></code> ディレクティブを
1990 見てください) へ記録するメッセージの冗長性を調整します。
1991 以下の <var>level</var> を指定でき、順に重要度が下がっていきます。</p>
1993 <table class="bordered">
1995 <th><strong>レベル</strong> </th>
1997 <th><strong>説明</strong> </th>
1999 <th><strong>例</strong> </th>
2003 <td><code>emerg</code> </td>
2005 <td>緊急 - システムが利用できない</td>
2007 <td>Child cannot open lock file. Exiting
2008 (子プロセスがロックファイルを開けないため終了した)</td>
2012 <td><code>alert</code> </td>
2016 <td>getpwuid: couldn't determine user name from uid
2017 (getpwuid: UID からユーザ名を特定できなかった)</td>
2021 <td><code>crit</code> </td>
2025 <td>socket: Failed to get a socket, exiting child
2026 (socket: ソケットが得られないため、子プロセスを終了させた)</td>
2030 <td><code>error</code> </td>
2034 <td>Premature end of script headers
2035 (スクリプトのヘッダが足りないままで終わった)</td>
2039 <td><code>warn</code> </td>
2043 <td>child process 1234 did not exit, sending another SIGHUP
2044 (子プロセス 1234 が終了しなかった。もう一度 SIGHUP を送る)</td>
2048 <td><code>notice</code> </td>
2052 <td>httpd: caught SIGBUS, attempting to dump core in ...
2053 (httpd: SIGBUS シグナルを受け、... へコアダンプをした)</td>
2057 <td><code>info</code> </td>
2061 <td>"Server seems busy, (you may need to increase
2062 StartServers, or Min/MaxSpareServers)..." (「サーバは負荷が高い、
2063 (StartServers や Min/MaxSpareServers の値を増やす必要があるかも)」)</td>
2067 <td><code>debug</code> </td>
2071 <td>"Opening config file ..." (設定ファイルを開いている...)</td>
2075 <p>特定のレベルが指定された場合、それより高いレベルの全てのメッセージが
2077 <em>例えば</em>、<code>LogLevel info</code> に指定すると、
2078 <code>notice</code> と <code>warn</code> も報告されます。</p>
2080 <p>なお <code>crit</code> 以上のレベルを指定することが推奨されます。</p>
2084 <div class="example"><p><code>
2088 <div class="note"><h3>注</h3>
2089 <p>ファイルにログを出力する場合、<code>notice</code>
2090 レベルのメッセージは抑制されず、すべてログに出力されます。
2091 しかし <code>syslog</code> を使用している場合は、
2096 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2097 <div class="directive-section"><h2><a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a> <a name="maxkeepaliverequests" id="maxkeepaliverequests">ディレクティブ</a></h2>
2098 <table class="directive">
2099 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>持続的な接続上で許可されるリクエストの数</td></tr>
2100 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxKeepAliveRequests <var>number</var></code></td></tr>
2101 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr>
2102 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
2103 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2104 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2106 <p><code class="directive">MaxKeepAliveRequests</code> ディレクティブは、
2107 <code class="directive"><a href="#keepalive">KeepAlive</a></code> が有効な場合に、
2108 一回の接続で受け付け可能なリクエストの数を制限します。
2109 <code>0</code> に設定していれば、受け付けるリクエストは無制限になります。
2110 この設定は、サーバ性能を向上させるために、大きな数値を指定すること勧めます。
2115 <div class="example"><p><code>
2116 MaxKeepAliveRequests 500
2120 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2121 <div class="directive-section"><h2><a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a> <a name="namevirtualhost" id="namevirtualhost">ディレクティブ</a></h2>
2122 <table class="directive">
2123 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>名前ベースのバーチャルホストのための IP アドレスを指定</td></tr>
2124 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>NameVirtualHost <var>addr</var>[:<var>port</var>]</code></td></tr>
2125 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr>
2126 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2127 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2129 <p><code class="directive">NameVirtualHost</code> ディレクティブは、
2130 <a href="../vhosts/">名前ベースのバーチャルホスト</a>の設定を行ないたい場合に
2133 <p><var>addr</var> にはホスト名を指定できますが、
2134 常に IP アドレスを指定するのが推奨されます。
2137 <div class="example"><p><code>
2138 NameVirtualHost 111.22.33.44
2141 <p><code class="directive">NameVirtualHost</code> ディレクティブは、
2143 利用してリクエストを受け付ける IP アドレスを指定します。
2144 これは、普通は名前ベースのバーチャルホストアドレスです。
2145 ただし、ファイアーウォールや他のプロキシがリクエストを受け付け、
2146 違う IP アドレスのサーバにフォワードするという場合は、
2147 リクエストを提供したいマシン上の物理インターフェースの
2148 IP アドレスを指定する必要があります。
2149 複数のアドレスで複数の名前ベースのバーチャルホストを指定する場合は
2150 各アドレスに対してディレクティブを書いてください。</p>
2152 <div class="note"><h3>中</h3>
2153 <p>「主サーバ」や、どの <code>_default_</code> サーバも、
2154 <code class="directive">NameVirtualHost</code> で指定した IP アドレスへのリクエスト
2155 を処理することは<strong>ありません</strong> (なぜか
2156 <code class="directive">NameVirtualHost</code> を
2157 指定したけどそのアドレスに <code class="directive">VirtualHost</code> を定義しなかった場合を除く)。</p>
2160 <p>名前ベースのバーチャルホストにポート番号を指定することも可能です。
2163 <div class="example"><p><code>
2164 NameVirtualHost 111.22.33.44:8080
2167 <p>IPV6 のアドレスは次の例のように角括弧で囲む必要があります:</p>
2169 <div class="example"><p><code>
2170 NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080
2173 <p>すべてのインタフェースへのリクエストを受け取るようにするためには、
2174 引数として <code>*</code> を使います。</p>
2176 <div class="example"><p><code>
2180 <div class="note"><h3><code class="directive"><VirtualHost></code> ディレクティブの引数</h3>
2181 <p><code class="directive"><VirtualHost></code> ディレクティブの引数は <code class="directive">NameVirtualHost</code> ディレクティブの引数に正確に
2182 合っている必要があることに注意してください。</p>
2184 <div class="example"><p><code>
2185 NameVirtualHost 1.2.3.4<br />
2186 <VirtualHost 1.2.3.4><br />
2188 </VirtualHost><br />
2195 <li><a href="../vhosts/">バーチャルホスト説明書
2199 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2200 <div class="directive-section"><h2><a name="Options" id="Options">Options</a> <a name="options" id="options">ディレクティブ</a></h2>
2201 <table class="directive">
2202 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ディレクトリに対して使用可能な機能を設定する</td></tr>
2203 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Options
2204 [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr>
2205 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Options All</code></td></tr>
2206 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
2207 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Options</td></tr>
2208 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2209 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2211 <p><code class="directive">Options</code> ディレクティブは、特定のディレクトリに対して
2212 どの機能が使用可能かを制御します。</p>
2214 <p><var>option</var> を <code>None</code>に指定すると、
2216 また、以下の示す 1 個以上のものを指定できます。</p>
2219 <dt><code>All</code></dt>
2221 <dd><code>MultiViews</code> を除いた全ての機能が有効となります。
2224 <dt><code>ExecCGI</code></dt>
2227 <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> による CGI スクリプトの実行を許可します。</dd>
2229 <dt><code>FollowSymLinks</code></dt>
2232 サーバが、このディレクトリ内でシンボリックリンクをたどれるようにします。
2233 <div class="note"><p>サーバがシンボリックリンクをたどる場合でも、
2234 <code class="directive"><a href="#directory"><Directory></a></code> セクションに
2236 パス名は<em>変更されません</em>。</p>
2237 <p><code class="directive"><a href="#location"><Location></a></code> 内に
2238 このオプションを指定しても<strong>無視される</strong>ことに
2239 注意してください。</p></div></dd>
2241 <dt><code>Includes</code></dt>
2244 <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> が提供する SSI を有効にします。</dd>
2246 <dt><code>IncludesNOEXEC</code></dt>
2249 SSI は有効になりますが、<code>#exec</code> コマンド と <code>#exec CGI</code> は無効になります。
2250 ただし、<code>#include virtual</code> により、<code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> されたディレクトリで
2251 CGI を実行することは可能です。</dd>
2253 <dt><code>Indexes</code></dt>
2256 もし、URL がディレクトリにマップするリクエストであって、
2257 且つ <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> で指定したファイル (例えば、<code>index.html</code>) が
2258 ディレクトリ内に無ければ、<code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> が
2259 ディレクトリ内の一覧を整形して返します。</dd>
2261 <dt><code>MultiViews</code></dt>
2264 <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> による
2265 <a href="../content-negotiation.html">コンテントネゴシエーション</a>
2266 された "MultiViews" を許可します。</dd>
2268 <dt><code>SymLinksIfOwnerMatch</code></dt>
2271 シンボリック先のファイルまたはディレクトリが、
2272 シンボリックリンクの所有ユーザ ID と同じ場合にのみシンボリックリンクを
2275 <div class="note"><h3>注</h3> <code class="directive"><a href="#location"><Location></a></code> 内にこのオプションを
2280 <p>通常、ディレクトリに対して複数の <code class="directive">Options</code> が
2282 最も近いもの一つのみが適用され、他のものは無視されます。
2283 複数の指定がマージされるわけではありません。(<a href="../sections.html#mergin">セクションのマージ方法</a>を参照してください。)
2284 しかし、すべての <code class="directive">Options</code> ディレクティブが <code>+</code> や <code>-</code> 付きで
2285 指定された場合はオプションの値はマージされます。
2286 <code>+</code> を頭につければ現在の設定に加えられ、
2287 <code>-</code> を付ければ現在の設定から削除されます。</p>
2289 <p>例えば、<code>+</code> や <code>-</code> を利用しない場合は:</p>
2291 <div class="example"><p><code>
2292 <Directory /web/docs><br />
2293 <span class="indent">
2294 Options Indexes FollowSymLinks<br />
2296 </Directory><br />
2298 <Directory /web/docs/spec><br />
2299 <span class="indent">
2300 Options Includes<br />
2305 <p><code>/web/docs/spec</code> というディレクトリには、
2306 <code>Includes</code> だけが適用されます。
2307 しかし、2 番目の <code class="directive">Options</code> で <code>+</code> や <code>-</code> を利用してみると:</p>
2309 <div class="example"><p><code>
2310 <Directory /web/docs><br />
2311 <span class="indent">
2312 Options Indexes FollowSymLinks<br />
2314 </Directory><br />
2316 <Directory /web/docs/spec><br />
2317 <span class="indent">
2318 Options +Includes -Indexes<br />
2323 <p><code>/web/docs/spec</code> というディレクトリには、 <code>FollowSymLinks</code> と
2324 <code>Includes</code> が適用されます。</p>
2326 <div class="note"><h3>注</h3>
2327 <p><code>-IncludesNOEXEC</code> もしくは
2328 <code>-Includes</code> を指定すると、
2329 前の設定がどのようになっていようとも SSI は無効となります。</p>
2332 <p>どのような設定もされていなければ、デフォルトでは <code>All</code> に
2336 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2337 <div class="directive-section"><h2><a name="Require" id="Require">Require</a> <a name="require" id="require">ディレクティブ</a></h2>
2338 <table class="directive">
2339 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>どの認証済みユーザがリソースをアクセスできるかを選択する</td></tr>
2340 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Require <var>entity-name</var> [<var>entity-name</var>] ...</code></td></tr>
2341 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
2342 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr>
2343 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2344 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2346 <p>このディレクティブは、どの認証済みのユーザがディレクトリに
2347 アクセスすることができるかを指定します。
2351 <dt><code>Require user <var>userid</var> [<var>userid</var>] ...</code></dt>
2353 <dd>指定されたユーザのみ、ディレクトリへのアクセスを許可します。</dd>
2355 <dt><code>Require group <var>group-name</var> [<var>group-name</var>] ...</code></dt>
2357 <dd>指定されたグループに属するユーザのみ、ディレクトリへのアクセスを許可します。</dd>
2359 <dt><code>Require valid-user</code></dt>
2361 <dd>全ての認証されたユーザに、ディレクトリへのアクセスを許可します。</dd>
2364 <p><code class="directive">Require</code> は、正しく動作するためには <code class="directive"><a href="#authname">AuthName</a></code> 及び <code class="directive"><a href="#authtype">AuthType</a></code> ディレクティブや、
2365 (ユーザとグループを指定するために) <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code> 及び <code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code>
2370 <div class="example"><p><code>
2371 AuthType Basic<br />
2372 AuthName "Restricted Directory"<br />
2373 AuthUserFile /web/users<br />
2374 AuthGroupFile /web/groups<br />
2378 <p>このようにして適用されたアクセス制御は、<strong>全ての</strong>メソッドに
2380 <strong>通常は、これが望ましい動作です。</strong>
2381 もし、特定のメソッドに対してのみアクセスの制御を適用し、
2382 他のメソッドは制限しない場合には、<code class="directive"><a href="#limit"><Limit></a></code> セクション内に
2383 <code class="directive">Require</code> を
2389 <li><code class="directive"><a href="#satisfy">Satisfy</a></code></li>
2390 <li><code class="module"><a href="../mod/mod_access.html">mod_access</a></code></li>
2393 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2394 <div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a> <a name="rlimitcpu" id="rlimitcpu">ディレクティブ</a></h2>
2395 <table class="directive">
2396 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Apache の子プロセスから起動されたプロセスの CPU 消費量を
2398 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</code></td></tr>
2399 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>未設定。オペレーティングシステムのデフォルトを使用</code></td></tr>
2400 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
2401 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr>
2402 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2403 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2405 <p>一つか二つのパラメータをとります。
2406 最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、
2407 2 番目のパラメータは最大のリソースリミットを設定します。
2408 パラメータには数字か、オペレーティングシステムの最大となる
2409 <code>max</code> のどちらかを指定することができます。
2410 最大のリソースリミットを上げるためには、サーバを
2411 <code>root</code> で実行するか起動されなければいけません。</p>
2413 <p>ちなみに、この設定は Apache の子プロセス自体ではなく、
2414 リクエストを受け付けた Apache の子プロセスから fork されたプロセスに
2416 これには CGI や SSI から実行されたコマンドが含まれますが、Apache の
2417 親プロセスから fork されたログのパイププロセスなどには適用されません。</p>
2419 <p>CPU リソースのリミットはプロセスあたりの秒数で表わされます。</p>
2424 <li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li>
2425 <li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li>
2428 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2429 <div class="directive-section"><h2><a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a> <a name="rlimitmem" id="rlimitmem">ディレクティブ</a></h2>
2430 <table class="directive">
2431 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Apache の子プロセスから起動されたプロセスのメモリ消費量を
2433 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</code></td></tr>
2434 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>未設定。オペレーティングシステムのデフォルトを使用</code></td></tr>
2435 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
2436 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr>
2437 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2438 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2440 <p>一つか二つのパラメータををとります。
2441 最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、
2442 2 番目のパラメータは最大のリソースリミットを設定します。
2443 パラメータには数字か、オペレーティングシステムの最大となる
2444 <code>max</code> のどちらかを指定することができます。
2445 最大のリソースリミットを上げるためには、サーバを
2446 <code>root</code> で実行するか起動されなければいけません。</p>
2448 <p>この設定は Apache の子プロセス自体ではなく、
2449 リクエストを受け付けた Apache の子プロセスから fork されたプロセスに
2451 これには CGI や SSI から実行されたコマンドが含まれますが、Apache の
2452 親プロセスから fork されたログのパイププロセスなどには適用されません。</p>
2454 <p>メモリリソースのリミットはプロセスあたりのバイト数で表わされます。</p>
2458 <li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li>
2459 <li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li>
2462 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2463 <div class="directive-section"><h2><a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a> <a name="rlimitnproc" id="rlimitnproc">ディレクティブ</a></h2>
2464 <table class="directive">
2465 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Apache の子プロセスから起動されたプロセスが起動するプロセスの
2467 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RLimitNPROC <var>number</var>|max [<var>number</var>|max]</code></td></tr>
2468 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>未設定。オペレーティングシステムのデフォルトを使用</code></td></tr>
2469 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
2470 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr>
2471 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2472 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2474 <p>一つか二つのパラメータをとります。
2475 最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、
2476 2 番目のパラメータは最大のリソースリミットを設定します。
2477 パラメータには数字か、オペレーティングシステムの最大となる
2478 <code>max</code> のどちらかを指定することができます。
2479 最大のリソースリミットを上げるためには、サーバを
2480 <code>root</code> で実行するか起動されなければいけません。</p>
2482 <p>この設定は Apache の子プロセス自体ではなく、
2483 リクエストを受け付けた Apache の子プロセスから fork されたプロセスに
2485 これには CGI や SSI から実行されたコマンドが含まれますが、Apache の
2486 親プロセスから fork されたログのパイププロセスなどには適用されません。</p>
2488 <p>プロセスの制限は、ユーザあたりのプロセス数で制御されます。</p>
2490 <div class="note"><h3>注</h3>
2491 <p> CGI プロセスがウェブサーバのユーザ ID 以外で実行されるので
2492 <strong>無ければ</strong>、
2493 このディレクティブは、サーバ自身が生成できるプロセスの数を制限することになります。
2494 そのような状況になっているかどうかは、<code>error_log</code> 中の
2495 <strong><code>cannot fork</code></strong> というメッセージにより
2501 <li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li>
2502 <li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li>
2505 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2506 <div class="directive-section"><h2><a name="Satisfy" id="Satisfy">Satisfy</a> <a name="satisfy" id="satisfy">ディレクティブ</a></h2>
2507 <table class="directive">
2508 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ホストレベルのアクセス制御とユーザ認証との相互作用を指定</td></tr>
2509 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Satisfy Any|All</code></td></tr>
2510 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Satisfy All</code></td></tr>
2511 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
2512 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr>
2513 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2514 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2515 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>バージョン 2.0.51 以降では <code class="directive"><a href="#limit"><Limit></a></code> ディレクティブと <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> ディレクティブの影響を受ける
2518 <p><code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> と
2519 <code class="directive"><a href="#require">Require</a></code> の両方が使われているときの
2520 アクセスポリシーを設定します。パラメータは <code>All</code> か <code>Any</code>
2521 です。このディレクティブはある場所へのアクセスがユーザ名/パスワード
2522 <em>と</em>クライアントのホストのアドレスで制限されているときにのみ
2523 役立ちます。デフォルトの動作 (<code>All</code>) はクライアントがアドレスによる
2524 アクセス制限を満たし、<em>かつ</em>正しいユーザ名とパスワードを入力することを
2525 要求します。<code>Any</code> では、クライアントはホストの制限を満たすか、
2526 正しいユーザ名とパスワードの入力をするかをすればアクセスを許可されます。
2527 これは、ある場所をパスワードで保護するけれど、特定のアドレスからの
2528 クライアントにはパスワードの入力を要求せずにアクセスを許可する、
2529 というようなときに使用できます。</p>
2531 <p>例えば、同じネットワーク上にいる人にはウェブサイトのある部分について
2532 無制限のアクセスを許したいけれど、外のネットワークの人には
2533 パスワードを提供させるようにするためには、次のような設定をすることが
2536 <div class="example"><p><code>
2537 Require valid-user<br />
2538 Allow from 192.168.1<br />
2543 <code class="directive"><a href="#limit"><Limit></a></code> セクションと
2544 <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> セクションを使用することで
2545 <code class="directive">Satisfy</code> ディレクティブが
2551 <li><code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code></li>
2552 <li><code class="directive"><a href="#require">Require</a></code></li>
2555 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2556 <div class="directive-section"><h2><a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a> <a name="scriptinterpretersource" id="scriptinterpretersource">ディレクティブ</a></h2>
2557 <table class="directive">
2558 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>CGI スクリプトのインタープリタの位置を調べるための手法</td></tr>
2559 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr>
2560 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr>
2561 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
2562 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
2563 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2564 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2565 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Win32 のみ。
2566 オプション <code>Registry-Strict</code> は Apache 2.0 以降で使用可能</td></tr>
2568 <p>このディレクティブは、Apache で CGI スクリプトを
2569 実行する場合に利用するインタープリタを、
2570 どのように探し出すかについて制御するために使用します。
2571 デフォルトの設定は <code>Script</code> です。これはスクリプトの
2572 shebang 行 (最初の行で <code>#!</code> から始まるもの)
2573 に指されているインタープリタを使用します。Win32 ではその行は
2576 <div class="example"><p><code>
2577 #!C:/Perl/bin/perl.exe
2580 <p>もしくは、perl が <code>PATH</code> にある場合は単に:</p>
2582 <div class="example"><p><code>
2586 <p><code>ScriptInterpreterSource Registry</code> を指定すると、
2587 スクリプトファイルの拡張子 (例えば、<code>.pl</code>) を
2588 キーとして、Windows のレジストリツリー <code>HKEY_CLASSES_ROOT</code>
2589 を検索するようになります。レジストリのサブキー
2590 <code>Shell\ExecCGI\Command</code> か、それが存在しない場合は
2591 <code>Shell\Open\Command</code> がスクリプトファイルを開くために
2592 使われます。レジストリキーが見つからないときは、Apache は <code>Script</code>
2593 オプションが指定されたときの動作に戻ります。</p>
2595 <div class="warning"><h3>セキュリティ</h3>
2596 <p><code>ScriptInterpreterSource Registry</code> を <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> されたディレクトリで使うときは
2597 注意してください。Apache はそのディレクトリ中の<em>すべての</em>ファイルを
2598 実行しようとします。<code>Registry</code> という設定は通常は実行されない
2599 ファイルに対して望ましくないプログラムの実行が発生する可能性があります。
2600 例えば、ほとんどの Windows システムで、
2601 <code>.htm</code> ファイルのデフォルトの「開く」コマンドは
2602 Microsoft Internet Explorer を実行しますので、スクリプトに指定された
2603 ディレクトリにある <code>.htm</code> ファイルへのリクエストはサーバの
2604 バックグラウンドでブラウザを実行することになります。これは、一分内くらいで
2605 システムをクラッシュさるための良い方法です。</p>
2608 <p>Apache 2.0 から導入されたオプション <code>Registry-Strict</code> は
2609 <code>Registry</code> と同じことを行ないますが、サブキー
2610 <code>Shell\ExecCGI\Command</code> のみを使います。
2611 <code>ExecCGI</code> キーは普通に使われるキーではありません。Windows
2612 レジストリに手動で設定する必要がありますので、システムでの偶発的なプログラムの
2616 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2617 <div class="directive-section"><h2><a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a> <a name="serveradmin" id="serveradmin">ディレクティブ</a></h2>
2618 <table class="directive">
2619 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバがクライアントに送るエラーメッセージに含める電子メールの
2621 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerAdmin <var>email-address</var></code></td></tr>
2622 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
2623 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2624 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2626 <p><code class="directive">ServerAdmin</code> は、クライアントに返すさまざまな
2628 電子メールアドレスを設定します。</p>
2630 <p>その際、これのために専用のアドレスを設定するのが良いでしょう。
2633 <div class="example"><p><code>
2634 ServerAdmin www-admin@foo.example.com
2637 <p>といったようにします。ユーザはいつもサーバに関する話であるということを
2638 明記してくるわけではありませんので。</p>
2642 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2643 <div class="directive-section"><h2><a name="ServerAlias" id="ServerAlias">ServerAlias</a> <a name="serveralias" id="serveralias">ディレクティブ</a></h2>
2644 <table class="directive">
2645 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リクエストを名前ベースのバーチャルホストにマッチさせているときに
2646 使用されるホストの別名</td></tr>
2647 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerAlias <var>hostname</var> [<var>hostname</var>] ...</code></td></tr>
2648 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>バーチャルホスト</td></tr>
2649 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2650 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2652 <p><code class="directive">ServerAlias</code> ディレクティブは、<a href="../vhosts/name-based.html">ネームベースのバーチャルホスト</a>において
2653 使用するホストの別名を指定します。</p>
2655 <div class="example"><p><code>
2656 <VirtualHost *><br />
2657 ServerName server.domain.com<br />
2658 ServerAlias server server2.domain.com server2<br />
2660 </VirtualHost>
2665 <li><a href="../vhosts/">Apache バーチャルホスト説明書</a></li>
2668 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2669 <div class="directive-section"><h2><a name="ServerName" id="ServerName">ServerName</a> <a name="servername" id="servername">ディレクティブ</a></h2>
2670 <table class="directive">
2671 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバが自分自身を示すときに使うホスト名とポート</td></tr>
2672 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerName <var>fully-qualified-domain-name</var>[:<var>port</var>]</code></td></tr>
2673 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
2674 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2675 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2676 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>このディレクティブはバージョン 2.0 ではバージョン 1.3 の
2677 <code class="directive">Port</code> ディレクティブの機能も含みます。</td></tr>
2679 <p><code class="directive">ServerName</code> ディレクティブは、
2680 サーバが自分自身を示すホスト名とポートを設定します。
2681 これは、リダイレクトする URL を生成する際に利用されます。
2682 例えば、ウェブサーバを動かしているマシンは <code>simple.example.com</code>
2683 で、DNS のエイリアス <code>www.example.com</code> もあるときに、
2684 ウェブサーバが後者として認識されて欲しいときは、以下のようにディレクティブを
2687 <div class="example"><p><code>
2688 ServerName www.example.com:80
2691 <p><code class="directive">ServerName</code> が指定されていないときは、
2692 サーバは IP アドレスから逆引きを行なうことでホスト名を知ろうとします。
2693 <code class="directive">ServerName</code> にポートが指定されていないときは、
2695 ポートを使います。最高の信頼性と確実性をもたらすためには、
2696 <code class="directive">ServerName</code> を使ってホスト名とポートを明示的に
2699 <p><a href="../vhosts/name-based.html">名前ベースのバーチャルホスト</a>
2700 を利用している場合、<code class="directive"><a href="#virtualhost"><VirtualHost></a></code> セクション内の
2701 <code class="directive">ServerName</code> はこのバーチャルホストにマッチするために
2702 何がリクエストの Host: ヘッダに現れる必要があるのかを指定します。</p>
2704 <p>自己参照 URL (例えば <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> モジュールによるものなど)
2705 が指定されたポートを使うか、クライアントのリクエストのポート番号を使うかを
2706 決定する設定は <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>
2707 ディレクティブを参照してください。</p>
2711 <li><a href="../dns-caveats.html">DNS と Apache に関する話</a></li>
2712 <li><a href="../vhosts/">Apache バーチャルホスト説明書</a></li>
2713 <li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
2714 <li><code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code></li>
2715 <li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li>
2718 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2719 <div class="directive-section"><h2><a name="ServerPath" id="ServerPath">ServerPath</a> <a name="serverpath" id="serverpath">ディレクティブ</a></h2>
2720 <table class="directive">
2721 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>非互換のブラウザが名前ベースのバーチャルホストにアクセスしたときの
2722 ための互換用 URL パス名</td></tr>
2723 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerPath <var>URL-path</var></code></td></tr>
2724 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>バーチャルホスト</td></tr>
2725 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2726 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2728 <p><code class="directive">ServerPath</code> ディレクティブは、<a href="../vhosts/">ネームベースのバーチャルホスト</a>において利用する
2729 互換用 URL パス名を設定します。</p>
2733 <li><a href="../vhosts/">Apache バーチャルホスト説明書</a></li>
2736 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2737 <div class="directive-section"><h2><a name="ServerRoot" id="ServerRoot">ServerRoot</a> <a name="serverroot" id="serverroot">ディレクティブ</a></h2>
2738 <table class="directive">
2739 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>インストールされたサーバのベースディレクトリ</td></tr>
2740 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerRoot <var>directory-path</var></code></td></tr>
2741 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr>
2742 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr>
2743 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2744 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2746 <p><code class="directive">ServerRoot</code> ディレクティブは、
2747 サーバが存在するディレクトリを設定します。
2748 通常、<code>conf/</code> や <code>logs/</code> といったサブディレクトリが
2750 また、他の設定ファイルにおける相対パスは、このディレクトリからとなります。</p>
2752 <div class="example"><h3>例</h3><p><code>
2753 ServerRoot /home/httpd
2760 <li><a href="../invoking.html"><code>httpd</code> の <code>-d</code>
2762 <li><code class="directive">ServerRoot</code> の権限を適切に設定する方法は<a href="../misc/security_tips.html#serverroot">セキュリティのこつ</a></li>
2765 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2766 <div class="directive-section"><h2><a name="ServerSignature" id="ServerSignature">ServerSignature</a> <a name="serversignature" id="serversignature">ディレクティブ</a></h2>
2767 <table class="directive">
2768 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバが生成するドキュメントのフッタを設定</td></tr>
2769 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr>
2770 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ServerSignature Off</code></td></tr>
2771 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
2772 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr>
2773 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2774 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2776 <p><code class="directive">ServerSignature</code> ディレクティブは、
2778 (エラーメッセージ、<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> における FTP のディレクトリリスト、
2779 <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> の出力、等々)
2780 の最下行に付与するフッタの設定を行ないます。
2781 そのようなフッタ行を有効にしたい理由には、
2782 プロキシが複数連なっている場合に、ユーザはどのサーバが返した
2783 エラーメッセージかを知る手段がほとんど無いというものがあります。</p>
2786 <p>デフォルトである <code>Off</code> に設定をすると、フッタ行が抑制されます
2787 (そして、Apache-1.2 以前と互換の動作をします)。
2788 <code>On</code> に設定した場合は、単にドキュメントの中に、サーバのバージョン、
2789 稼動中のバーチャルホストの <a href="#servername">ServerName</a> の書かれた行を追加し、
2790 <code>EMail</code> にした場合はさらに参照されたドキュメントに対する <a href="#serveradmin">ServerAdmin</a> を指す "mailto:" が追加されます。</p>
2792 <p>バージョン 2.0.44 以降ではこのディレクティブは <code class="directive"><a href="#serversignature">ServerSignature</a></code>
2793 ディレクティブにより表示される情報も制御します。</p>
2797 <li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li>
2800 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2801 <div class="directive-section"><h2><a name="ServerTokens" id="ServerTokens">ServerTokens</a> <a name="servertokens" id="servertokens">ディレクティブ</a></h2>
2802 <table class="directive">
2803 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Server HTTP 応答ヘッダを設定する</td></tr>
2804 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr>
2805 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ServerTokens Full</code></td></tr>
2806 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr>
2807 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2808 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2810 <p>このディレクティブは、クライアントに送り返す <code>Server</code>
2811 応答ヘッダ内に、サーバの一般的な OS 種別や、
2812 コンパイルされて組み込まれているモジュールの情報を
2816 <dt><code>ServerTokens Prod[uctOnly]</code></dt>
2818 <dd>サーバは (例えば): <code>Server:
2819 Apache</code> といったように送ります。</dd>
2821 <dt><code>ServerTokens Major</code></dt>
2823 <dd>Server sends (<em>e.g.</em>): <code>Server:
2824 Apache/2</code></dd>
2826 <dt><code>ServerTokens Minor</code></dt>
2828 <dd>Server sends (<em>e.g.</em>): <code>Server:
2829 Apache/2.0</code></dd>
2831 <dt><code>ServerTokens Min[imal]</code></dt>
2833 <dd>サーバは (例えば): <code>Server:
2834 Apache/2.0.41</code> といったように送ります。</dd>
2836 <dt><code>ServerTokens OS</code></dt>
2838 <dd>サーバは (例えば): <code>Server: Apache/2.0.41
2839 (Unix)</code> といったように送ります。</dd>
2841 <dt><code>ServerTokens Full</code> (もしくは未指定)</dt>
2843 <dd>サーバは (例えば): <code>Server: Apache/2.0.41
2844 (Unix) PHP/4.2.2 MyMod/1.2</code> といったように送ります。</dd>
2847 <p>この設定はサーバ全体に適用され、バーチャルホスト上で有効にしたり
2850 <p>バージョン 2.0.44 以降ではこのディレクティブは <code class="directive"><a href="#serversignature">ServerSignature</a></code>
2851 ディレクティブにより表示される情報も制御します。</p>
2855 <li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li>
2858 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2859 <div class="directive-section"><h2><a name="SetHandler" id="SetHandler">SetHandler</a> <a name="sethandler" id="sethandler">ディレクティブ</a></h2>
2860 <table class="directive">
2861 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>マッチするファイルがハンドラで処理されるようにする</td></tr>
2862 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SetHandler <var>handler-name</var>|None</code></td></tr>
2863 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
2864 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
2865 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2866 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2867 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0 で core に移動</td></tr>
2869 <p><code>.htaccess</code> や <code class="directive"><a href="#directory"><Directory></a></code>
2870 セクション、<code class="directive"><a href="#location"><Location></a></code>
2872 このディレクティブはそこにあるすべてのファイルが
2873 <var>handler-name</var> で指定された<a href="../handler.html">ハンドラ</a>で扱われることを強制します。例えば、拡張子に関わらず、
2874 ディレクトリ全体がイメージマップファイルとして解析して欲しい場合には、
2875 以下をそのディレクトリの <code>.htaccess</code>
2878 <div class="example"><p><code>
2879 SetHandler imap-file
2882 <p>別の例: URL <code>http://servername/status</code>
2883 が指定されたときにサーバが状態報告をするようにしたいときは、以下を
2884 <code>httpd.conf</code> に記述します:</p>
2886 <div class="example"><p><code>
2887 <Location /status><br />
2888 <span class="indent">
2889 SetHandler server-status<br />
2894 <p><code>None</code> という値を設定することで、
2895 前の方の <code class="directive">SetHandler</code> で定義された設定を無効にすることが
2901 <li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li>
2904 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2905 <div class="directive-section"><h2><a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a> <a name="setinputfilter" id="setinputfilter">ディレクティブ</a></h2>
2906 <table class="directive">
2907 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントのリクエストや POST の入力を処理するフィルタを設定する</td></tr>
2908 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SetInputFilter <var>filter</var>[;<var>filter</var>...]</code></td></tr>
2909 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
2910 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
2911 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2912 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2914 <p><code class="directive">SetInputFilter</code> ディレクティブはクライアントの
2915 リクエストや POST の入力をサーバが受け取ったときに処理するフィルタを
2916 設定します。これは <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>
2917 ディレクティブを含め、他の場所で定義されているフィルタの設定に
2920 <p>複数のフィルタを指定するときは、データを処理する順番に
2921 セミコロンで区切る必要があります。</p>
2926 <li><a href="../filter.html">フィルタ</a>説明書</li>
2929 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2930 <div class="directive-section"><h2><a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a> <a name="setoutputfilter" id="setoutputfilter">ディレクティブ</a></h2>
2931 <table class="directive">
2932 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバの応答を処理するフィルタを設定する</td></tr>
2933 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SetOutputFilter <var>filter</var>[;<var>filter</var>...]</code></td></tr>
2934 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
2935 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
2936 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2937 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2939 <p><code class="directive">SetOutputFilter</code> ディレクティブは
2940 サーバの応答をクライアントに送り返される前に処理するフィルタを設定します。
2941 これは <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>
2942 ディレクティブを含め、他の場所で定義されているフィルタの設定に
2945 <p>例えば、以下の設定は <code>/www/data/</code> ディレクトリのすべての
2946 ファイルを SSI で処理します。</p>
2948 <div class="example"><p><code>
2949 <Directory /www/data/><br />
2950 <span class="indent">
2951 SetOutputFilter INCLUDES<br />
2956 <p>複数のフィルタを指定するときは、データを処理する順番に
2957 セミコロンで区切る必要があります。</p>
2961 <li><a href="../filter.html">フィルタ</a>説明書</li>
2964 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2965 <div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a> <a name="timeout" id="timeout">ディレクティブ</a></h2>
2966 <table class="directive">
2967 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>各イベントについて、リクエストを失敗させるまでにサーバが
2969 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>TimeOut <var>seconds</var></code></td></tr>
2970 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>TimeOut 300</code></td></tr>
2971 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr>
2972 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
2973 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
2975 <p><code class="directive">TimeOut</code> ディレクティブは、現在のところ
2976 以下の三つの待ち時間についての定義を行います:</p>
2979 <li>GET リクエストを受け取るのにかかる総時間</li>
2981 <li>POST や PUTリクエストにおいて、次の TCP パケットが届くまでの待ち時間</li>
2983 <li>レスポンスを返す際、TCP の ACK が帰ってくるまでの時間</li>
2986 <p>将来には別々の設定をすることが可能にできるよう考慮中です。
2987 Apache 1.2 以前はタイマーは 1200 がデフォルトでしたが、
2988 300 に下げられました。300 でもほとんどの場合は十分すぎる値です。
2989 コード中の変な場所にまだパケットを送る際にタイマをリセットしない
2990 場所があるかもしれないので、デフォルトをより小さい値にはしていません。</p>
2994 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2995 <div class="directive-section"><h2><a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a> <a name="usecanonicalname" id="usecanonicalname">ディレクティブ</a></h2>
2996 <table class="directive">
2997 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバが自分自身の名前とポートを決定する方法を設定する</td></tr>
2998 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>UseCanonicalName On|Off|Dns</code></td></tr>
2999 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>UseCanonicalName On</code></td></tr>
3000 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr>
3001 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
3002 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
3004 <p>多くの状況で Apache は<em>自己参照</em> URL、すなわち
3005 同じサーバを指す URL、を作成する必要があります。
3006 <code>UseCanonicalName On</code> を使うと (1.3 より前の
3007 すべてのバージョンでも) Apache は <a href="#servername">ServerName</a> ディレクティブと <a href="#port">Port</a>
3008 ディレクティブを使ってサーバの正式な名前を作成します。
3009 この名前がすべての自己参照 URL で使われ、CGI の <code>SERVER_NAME</code>
3010 と <code>SERVER_PORT</code> にも使われます。</p>
3012 <p><code>UseCanonicalName Off</code> では Apache は
3013 クライアントがホスト名とポートを提供した場合には自己参照 URL を
3014 それらを元に作成します (提供されていない場合は上で定義されているように
3016 これらの値は<a href="../vhosts/name-based.html">名前ベースの
3017 バーチャルホスト</a>を実装するのに使われているのと同じ値で、
3018 同じクライアントから取得できる値です。CGI 変数 <code>SERVER_NAME</code>
3019 と <code>SERVER_PORT</code> もクライアントから与えられた値から
3022 <p>これが有用な場合の例は、イントラネットのサーバで、<code>www</code> の
3023 ような短い名前でユーザがマシンに接続しているときです。
3024 ユーザが短い名前を入力して、URL が<em>最後のスラッシュ無しの</em>ディレクトリ
3025 へのものであるときに、Apache はリクエストを
3026 <code>http://www.domain.com/splat/</code> へリダイレクトすることに
3027 気付くでしょう。認証をするように設定していると、この場合
3028 ユーザは 2 回認証をしなければならなくなります (<code>www</code> に
3029 対して 1 回、<code>www.domain.com</code> に対してもう一回 --
3030 より詳しい情報は <a href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">この話題の
3032 しかし、<code class="directive">UseCanonicalName</code> が <code>Off</code> になっていると、
3033 Apache は <code>htttp://www/splat/</code> にリダイレクトします。</p>
3035 <p>三つ目のオプション <code>UseCanonicalName DNS</code> は、
3036 <code>Host:</code> ヘッダを提供しない古いクライアントをサポートした
3037 大規模な IP ベースのバーチャルホスティングで使用されることを
3038 意図しています。このオプションでは、Apache はクライアントが
3039 接続した IP アドレスに DNS の逆引きを行なって自己参照 URL を
3042 <div class="warning"><h3>警告</h3>
3043 <p>CGI が <code>SERVER_NAME</code> に
3044 関する仮定を行なっているときは、このオプションの設定で動作しなく
3045 なるかもしれません。クライアントは実質的にはホスト名にとして
3046 何でも望みの値を指定することができます。CGI が
3047 <code>SERVER_NAME</code> のみを使って自己参照 URL を作成している
3048 場合はどの設定を行なっても大丈夫なはずです。</p></div>
3052 <li><code class="directive"><a href="#servername">ServerName</a></code></li>
3053 <li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
3056 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3057 <div class="directive-section"><h2><a name="VirtualHost" id="VirtualHost"><VirtualHost></a> <a name="virtualhost" id="virtualhost">ディレクティブ</a></h2>
3058 <table class="directive">
3059 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>特定のホスト名や IP アドレスのみに適用されるディレクティブを
3061 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code><VirtualHost
3062 <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]]
3063 ...> ... </VirtualHost></code></td></tr>
3064 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr>
3065 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Core</td></tr>
3066 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>core</td></tr>
3068 <p><code class="directive"><VirtualHost></code> 及び
3069 <code></VirtualHost></code> は、
3070 特定のバーチャルホストに対してのみ適用されるディレクティブ群を括る
3072 バーチャルホストコンテキストで許可される全てのディレクティブを指定可能です。
3073 サーバが、指定されたバーチャルホストにあるドキュメントへの
3075 <code class="directive"><VirtualHost></code> セクションの中にある
3077 <var>Addr</var>は、次のものが利用できます:</p>
3080 <li>バーチャルホストの IP アドレス</li>
3082 <li>バーチャルホストの IP に対応する完全なドメイン名</li>
3084 <li><code>NameVirtualHost *</code> と共に使われる、
3085 すべての IP アドレスにマッチする文字 <code>*</code></li>
3087 <li>IP ベースのバーチャルホストで他のものにマッチしない IP アドレス
3088 のための文字列 <code>_default_</code></li>
3091 <div class="example"><h3>例</h3><p><code>
3092 <VirtualHost 10.1.2.3><br />
3093 <span class="indent">
3094 ServerAdmin webmaster@host.foo.com<br />
3095 DocumentRoot /www/docs/host.foo.com<br />
3096 ServerName host.foo.com<br />
3097 ErrorLog logs/host.foo.com-error_log<br />
3098 TransferLog logs/host.foo.com-access_log<br />
3100 </VirtualHost>
3103 <p>IPv6 アドレスはオプションのポート番号の指定と区別するために、
3104 角括弧で括って指定する必要があります。次は IPv6 の例です:</p>
3106 <div class="example"><p><code>
3107 <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br />
3108 <span class="indent">
3109 ServerAdmin webmaster@host.example.com<br />
3110 DocumentRoot /www/docs/host.example.com<br />
3111 ServerName host.example.com<br />
3112 ErrorLog logs/host.example.com-error_log<br />
3113 TransferLog logs/host.example.com-access_log<br />
3115 </VirtualHost>
3118 <p>各々のバーチャルホストにはそれぞれ違う IP アドレス、ポート番号
3120 1 番目の場合には複数のアドレスで IP パケットを受信できるように
3121 サーバマシンを設定しなければなりません。
3122 (もし、マシンが複数のネットワークインターフェースと持たない場合は、
3123 (OSがサポートしていれば) <code>ifconfig alias</code> コマンドにより
3126 <p><code>:port</code> といった形式で記述することにより、
3128 この指定をしない場合には、主サーバ設定における
3129 一番最後に <code><a href="#port">Port</a></code> で指定されたポートが
3131 <code>:*</code> を指定することにより、
3132 アドレス上の全てのポートにマッチします。(<code>_default_</code> のときは
3133 これを使うことが推奨されています。)</p>
3135 <p><strong>セキュリティに関して</strong>:
3136 サーバーを起動した以外のユーザがログファイルが保管されるディレクトリに
3137 書き込み可能なときになぜセキュリティが破られる可能性があるかの詳細は
3138 <a href="../misc/security_tips.html">セキュリティに関するコツ</a> を
3141 <div class="note"><h3>注意点</h3>
3142 <p><code class="directive"><VirtualHost></code> は Apache が Listen する
3143 IP アドレスには影響を与え<strong>ません</strong>。
3144 <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> を
3145 使って Apache が正しいアドレスを listen するように設定する必要があります。</p>
3148 <p>IP ベースのバーチャルホストを使っている場合は、特別な名前
3149 <code>_default_</code> を指定することができます。その場合は
3150 そのバーチャルホストは他のバーチャルホストで明示的に挙げられていない
3151 すべての IP アドレスにマッチします。<code>_default_</code> バーチャルホストが無い
3152 場合に IP がバーチャルホストで指定されたものにマッチしないときは、
3153 VirtualHost セクションの外のすべての定義からなる「主」サーバ設定が
3154 使われます。(ただし、<code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code> ディレクティブにマッチする
3155 すべての IP アドレスは「主」サーバ設定も <code>_default_</code> バーチャルホストも
3156 使わないことに注意してください。詳しくは <a href="../vhosts/name-based.html">ネームベースのバーチャルホスト</a> を
3159 <p><code>:port</code> といった形式で記述することにより、
3161 この指定をしない場合には、主サーバ設定における
3162 一番最後に <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> で指定された
3164 <code>:*</code> を指定することにより、
3165 アドレス上の全てのポートにマッチします。(<code>_default_</code> のときは
3166 これを使うことが推奨されています。)</p>
3168 <p><code>:port</code> といった形式で記述することにより、
3170 この指定をしない場合には、主サーバ設定における
3171 一番最後に <code><a href="#port">Port</a></code> で指定されたポートが
3173 <code>:*</code> を指定することにより、
3174 アドレス上の全てのポートにマッチします。(<code>_default_</code> のときは
3175 これを使うことが推奨されています。)</p>
3177 <div class="warning"><h3>セキュリティ</h3>
3178 <p>サーバーを起動した以外のユーザがログファイルが保管されるディレクトリに
3179 書き込み可能なときになぜセキュリティが破られる可能性があるかの詳細は
3180 <a href="../misc/security_tips.html">セキュリティに関するコツ</a> を
3185 <li><a href="../vhosts/">Apache バーチャルホスト説明書</a></li>
3186 <li><a href="../dns-caveats.html">DNS と Apache に関する話</a></li>
3187 <li><a href="../bind.html">Apache が使用するアドレスとポートの設定</a></li>
3188 <li>リクエストを受けた際にこれらの異なるセクションが
3189 組み合わされる方法については <a href="../sections.html">
3190 <Directory>, <Location>, <Files> セクションの動作法</a></li>
3194 <div class="bottomlang">
3195 <p><span>Available Languages: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
3196 <a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> |
3197 <a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> |
3198 <a href="../ja/mod/core.html" title="Japanese"> ja </a> |
3199 <a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
3200 </div><div id="footer">
3201 <p class="apache">Copyright 2009 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>
3202 <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>