core.xml.ja revision 9a2ff606f1e9b86fdb5ab5d9738a8deb648cbd0b
842ae4bd224140319ae7feec1872b93dfd491143fielding<?xml version="1.0" encoding="UTF-8" ?>
842ae4bd224140319ae7feec1872b93dfd491143fielding<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
842ae4bd224140319ae7feec1872b93dfd491143fielding<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
842ae4bd224140319ae7feec1872b93dfd491143fielding<!-- English Revision: 669847:1369784 (outdated) -->
842ae4bd224140319ae7feec1872b93dfd491143fielding
842ae4bd224140319ae7feec1872b93dfd491143fielding<!--
2d2eda71267231c2526be701fe655db125852c1ffielding Licensed to the Apache Software Foundation (ASF) under one or more
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd contributor license agreements. See the NOTICE file distributed with
2d2eda71267231c2526be701fe655db125852c1ffielding this work for additional information regarding copyright ownership.
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd The ASF licenses this file to You under the Apache License, Version 2.0
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd (the "License"); you may not use this file except in compliance with
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd the License. You may obtain a copy of the License at
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd http://www.apache.org/licenses/LICENSE-2.0
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding Unless required by applicable law or agreed to in writing, software
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben distributed under the License is distributed on an "AS IS" BASIS,
0432a26b69eedfb9ca5f34fba590236378a24851ben WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0432a26b69eedfb9ca5f34fba590236378a24851ben See the License for the specific language governing permissions and
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh limitations under the License.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh-->
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<modulesynopsis metafile="core.xml.meta">
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<name>core</name>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<description>常に使用可能な Apache HTTP サーバのコア機能</description>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<status>Core</status>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<directivesynopsis>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<name>AcceptFilter</name>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<description>プロトコルを Listen しているソケットの最適化を設定する</description>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<syntax>AcceptFilter <var>protocol</var> <var>accept_filter</var></syntax>
2d2eda71267231c2526be701fe655db125852c1ffielding<contextlist><context>server config</context></contextlist>
2d2eda71267231c2526be701fe655db125852c1ffielding<compatibility>2.1.5 以降</compatibility>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<usage>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <p>Listen しているソケットに対して、OS が固有に持っているプロトコルについての最適化を
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb 有効にするディレクティブです。大前提となる条件は、データが受信されるか
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb HTTP リクエスト全体がバッファされるかするまで、カーネルがサーバプロセスに
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb ソケットを送らないようになっている、ということです。現在サポートされているのは、
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&amp;sektion=9">
2d2eda71267231c2526be701fe655db125852c1ffielding FreeBSD の Accept Filter</a> と Linux のプリミティブな
30c289e6bc6d28d210b21edd800ab2cfc78a8381wrowe <code>TCP_DEFER_ACCEPT</code> のみです。</p>
cccd31fa4a72fe23cc3249c06db181b274a55a69gstein
cccd31fa4a72fe23cc3249c06db181b274a55a69gstein <p>FreeBSD のデフォルト値は :</p>
cd39d2139743ca0ef899953c6496dcf99e9c791atrawick <example>
cccd31fa4a72fe23cc3249c06db181b274a55a69gstein AcceptFilter http httpready <br/>
a261b81a1044c0e2ea3f21cf9b7019297bad16aajorton AcceptFilter https dataready
b627048681b27fe30f979ba471b523be3a6a22adrbb </example>
cccd31fa4a72fe23cc3249c06db181b274a55a69gstein
cccd31fa4a72fe23cc3249c06db181b274a55a69gstein <p><code>httpready</code> Accept Filter は HTTP リクエスト全体を、
44c46ef733836b32585d135d2d90856e7cfd9929rbb カーネルレベルでバッファリングします。リクエスト全体を受信し終わると、
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb その後サーバプロセスにそれを送ります。詳細については <a
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&amp;sektion=9">accf_http(9)</a>
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna を参照してください。HTTPS のリクエストは暗号化されているので <a
cdccf2ac94172d1a4a54bc2e17324e1ef682ccf3pquerna href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&amp;sektion=9">accf_data(9)</a>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb フィルタのみが使用されます。</p>
9cfc48b742c224c1fbc2c26a4119a3266192c7d2wrowe
9cfc48b742c224c1fbc2c26a4119a3266192c7d2wrowe <p>Linux でのデフォルト値は :</p>
ef5650b61a8e35f3cc93ec07e73efc17ea329894jorton <example>
7c7372abe2484e7fcf81937b93496d1246e5b816gstein AcceptFilter http data <br/>
a261b81a1044c0e2ea3f21cf9b7019297bad16aajorton AcceptFilter https data
a261b81a1044c0e2ea3f21cf9b7019297bad16aajorton </example>
a261b81a1044c0e2ea3f21cf9b7019297bad16aajorton
a261b81a1044c0e2ea3f21cf9b7019297bad16aajorton <p>Linux の <code>TCP_DEFER_ACCEPT</code> は HTTP リクエストのバッファリングを
d71fd7cd9c4815d0647425f21ba3a803919a9148jorton サポートしていません。<code>none</code> 以外の値で
7c7372abe2484e7fcf81937b93496d1246e5b816gstein <code>TCP_DEFER_ACCEPT</code> が有効になります。詳細については Linux
7c7372abe2484e7fcf81937b93496d1246e5b816gstein man ページ <a
7c7372abe2484e7fcf81937b93496d1246e5b816gstein href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/tcp.7.html">tcp(7)</a>
7c7372abe2484e7fcf81937b93496d1246e5b816gstein を参照してください。</p>
7c7372abe2484e7fcf81937b93496d1246e5b816gstein
2d2eda71267231c2526be701fe655db125852c1ffielding <p>引数に <code>none</code> を指定すると、プロトコルに対する全ての Accept
2d2eda71267231c2526be701fe655db125852c1ffielding Filter が無効になります。<code>nntp</code> といった、先にサーバにデータを
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh 送る必要のあるプロトコルに有効です :</p>
2d2eda71267231c2526be701fe655db125852c1ffielding <example>AcceptFilter nntp none</example>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding</usage>
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh</directivesynopsis>
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh<directivesynopsis>
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh<name>AcceptPathInfo</name>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<description>後に続くパス名情報を受け付けるリソースの指定</description>
2d2eda71267231c2526be701fe655db125852c1ffielding<syntax>AcceptPathInfo On|Off|Default</syntax>
dd5cbadf2df719db2f3c769d03ec847da25854e6bnicholes<default>AcceptPathInfo Default</default>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<contextlist><context>server config</context>
dd5cbadf2df719db2f3c769d03ec847da25854e6bnicholes<context>virtual host</context><context>directory</context>
2d2eda71267231c2526be701fe655db125852c1ffielding<context>.htaccess</context></contextlist>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<override>FileInfo</override>
2d2eda71267231c2526be701fe655db125852c1ffielding<compatibility>Apache 2.0.30 以降で使用可能</compatibility>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding<usage>
2d2eda71267231c2526be701fe655db125852c1ffielding
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb <p>このディレクティブは実際のファイル名 (もしくは存在するディレクトリの
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb 存在しないファイル) の後に続くパス名情報があるリクエストを受け付けるか
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb 拒否するかを制御します。続きのパス名情報はスクリプトには <code>PATH_INFO</code>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb 環境変数として利用可能になります。</p>
72a4ef8eac1adef882246c5bfb9b8bbd82d613c4coar
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb <p>例えば、<code>/test/</code> が、<code>here.html</code> というファイル
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb 一つのみがあるディレクトリを指しているとします。そうすると、
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb <code>/test/here.html/more</code> と <code>/test/nothere.html/more</code>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh へのリクエストは両方とも <code>/more</code> を <code>PATH_INFO</code> とします。</p>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
2d2eda71267231c2526be701fe655db125852c1ffielding <p><directive>AcceptPathInfo</directive> ディレクティブに指定可能な
2d2eda71267231c2526be701fe655db125852c1ffielding 三つの引数は:</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh <dl>
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh <dt><code>Off</code></dt><dd>リクエストは存在するパスにそのまま
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh マップされる場合にのみ受け付けられます。ですから、上の例の
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh <code>/test/here.html/more</code> のように、本当のファイル名の
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh 後にパス名情報が続くリクエストには 404 NOT FOUND エラーが返ります。</dd>
2d2eda71267231c2526be701fe655db125852c1ffielding
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh <dt><code>On</code></dt><dd>前の方のパスが存在するファイルにマップする場合は
2d2eda71267231c2526be701fe655db125852c1ffielding リクエストが受け付けられます。上の例の <code>/test/here.html/more</code>
2d2eda71267231c2526be701fe655db125852c1ffielding は <code>/test/here.html</code> が有効なファイルにマップすれば
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh 受け付けられます。</dd>
2d2eda71267231c2526be701fe655db125852c1ffielding
a77c6787a1ea7dd88cb6cf8e4ad968b235af2a20jorton <dt><code>Default</code></dt><dd>続きのパス名情報の扱いはリクエストの
2d2eda71267231c2526be701fe655db125852c1ffielding <a href="/handler.html">ハンドラ</a>で決まります。
2d2eda71267231c2526be701fe655db125852c1ffielding 普通のファイルのためのコアハンドラのデフォルトは <code>PATH_INFO</code> を拒否します。
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <a href="mod_cgi.html">cgi-script</a> や <a
2d2eda71267231c2526be701fe655db125852c1ffielding href="mod_isapi.html">isapi-handler</a> のようにスクリプトを扱うハンドラは
2d2eda71267231c2526be701fe655db125852c1ffielding 一般的にデフォルトで <code>PATH_INFO</code> を受け付けます。</dd>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh </dl>
2d2eda71267231c2526be701fe655db125852c1ffielding
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh <p><code>AcceptPathInfo</code> の主な目的はハンドラの <code>PATH_INFO</code> を
2d2eda71267231c2526be701fe655db125852c1ffielding 受け付けるか拒否するかの選択を上書きできるようにすることです。
2d2eda71267231c2526be701fe655db125852c1ffielding 例えば、これは例えば <a href="mod_include.html">INCLUDES</a> のような
2d2eda71267231c2526be701fe655db125852c1ffielding <a href="/filter.html">フィルタ</a>を使って <code>PATH_INFO</code> に
2d2eda71267231c2526be701fe655db125852c1ffielding 基づいてコンテンツを生成しているときに必要になります。
2d2eda71267231c2526be701fe655db125852c1ffielding コアハンドラでは通常拒否されるので、そういったスクリプトを動作させるには
2d2eda71267231c2526be701fe655db125852c1ffielding 次のような設定を使います。</p>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
2d2eda71267231c2526be701fe655db125852c1ffielding <example>
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh &lt;Files "mypaths.shtml"&gt;<br />
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh <indent>
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh Options +Includes<br />
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh SetOutputFilter INCLUDES<br />
2d2eda71267231c2526be701fe655db125852c1ffielding AcceptPathInfo On<br />
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh </indent>
2d2eda71267231c2526be701fe655db125852c1ffielding &lt;/Files&gt;
2d2eda71267231c2526be701fe655db125852c1ffielding </example>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh</usage>
2d2eda71267231c2526be701fe655db125852c1ffielding</directivesynopsis>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding<directivesynopsis>
2d2eda71267231c2526be701fe655db125852c1ffielding<name>AccessFileName</name>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<description>分散設定ファイルの名前</description>
2d2eda71267231c2526be701fe655db125852c1ffielding<syntax>AccessFileName <var>filename</var> [<var>filename</var>] ...</syntax>
2d2eda71267231c2526be701fe655db125852c1ffielding<default>AccessFileName .htaccess</default>
2d2eda71267231c2526be701fe655db125852c1ffielding<contextlist><context>server config</context><context>virtual host</context>
2d2eda71267231c2526be701fe655db125852c1ffielding</contextlist>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
2d2eda71267231c2526be701fe655db125852c1ffielding<usage>
dbbf1b4183ae16353011a5269b37899f02b97d81gregames <p>リクエストを処理するとき、サーバはディレクトリに
2d2eda71267231c2526be701fe655db125852c1ffielding 対して分散設定ファイルが<a href="#allowoverride">有効になっていれば</a>、
2d2eda71267231c2526be701fe655db125852c1ffielding そのドキュメントへの
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh パス上にある全てのディレクトリから、ここで指定された名前の一覧の中で
2d2eda71267231c2526be701fe655db125852c1ffielding 最初に見つかったファイルをそれぞれ設定ファイルとして読み込みます。例えば:</p>
e44e11f9fece12c783f18d033923bfc0d6b4289aake
2d2eda71267231c2526be701fe655db125852c1ffielding <example>
2d2eda71267231c2526be701fe655db125852c1ffielding AccessFileName .acl
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh </example>
2d2eda71267231c2526be701fe655db125852c1ffielding
ee1af2aeb57527f33baa4737aa431e4aef997855rbowen <p>という設定があると、以下のようにして無効にされていない限り、
2d2eda71267231c2526be701fe655db125852c1ffielding ドキュメント <code>/usr/local/web/index.html</code>
2d2eda71267231c2526be701fe655db125852c1ffielding を返す前に、サーバは <code>/.acl</code>, <code>/usr/.acl</code>,
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <code>/usr/local/.acl</code>, <code>/usr/local/web/.acl</code> から
2d2eda71267231c2526be701fe655db125852c1ffielding ディレクティブを読み込みます。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <example>
2d2eda71267231c2526be701fe655db125852c1ffielding &lt;Directory /&gt;<br />
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <indent>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh AllowOverride None<br />
2d2eda71267231c2526be701fe655db125852c1ffielding </indent>
2d2eda71267231c2526be701fe655db125852c1ffielding &lt;/Directory&gt;
2d2eda71267231c2526be701fe655db125852c1ffielding </example>
2d2eda71267231c2526be701fe655db125852c1ffielding</usage>
2d2eda71267231c2526be701fe655db125852c1ffielding<seealso><directive module="core">AllowOverride</directive></seealso>
2d2eda71267231c2526be701fe655db125852c1ffielding<seealso><a href="/configuring.html">設定ファイル</a></seealso>
2d2eda71267231c2526be701fe655db125852c1ffielding<seealso><a href="/howto/htaccess.html">.htaccess ファイル</a></seealso>
2d2eda71267231c2526be701fe655db125852c1ffielding</directivesynopsis>
2d2eda71267231c2526be701fe655db125852c1ffielding
ee7882748b83255e50ea6bc3b3fdc8ee0949e2e3jorton<directivesynopsis>
2d2eda71267231c2526be701fe655db125852c1ffielding<name>AddDefaultCharset</name>
2d2eda71267231c2526be701fe655db125852c1ffielding<description>レスポンスのコンテントタイプが <code>text/plain</code> あるいは
2d2eda71267231c2526be701fe655db125852c1ffielding<code>text/html</code> の場合に追加するデフォルトの charset パラメータ</description>
2d2eda71267231c2526be701fe655db125852c1ffielding<syntax>AddDefaultCharset On|Off|<var>charset</var></syntax>
2d2eda71267231c2526be701fe655db125852c1ffielding<default>AddDefaultCharset Off</default>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<contextlist><context>server config</context>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<context>virtual host</context><context>directory</context>
2d2eda71267231c2526be701fe655db125852c1ffielding<context>.htaccess</context></contextlist>
2d2eda71267231c2526be701fe655db125852c1ffielding<override>FileInfo</override>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<usage>
2d2eda71267231c2526be701fe655db125852c1ffielding <p>レスポンスのコンテントタイプが <code>text/plain</code>
2d2eda71267231c2526be701fe655db125852c1ffielding あるいは <code>text/html</code>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh の場合に限りますが、レスポンスに追加するメディアタイプの文字セットパラメータ
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (文字エンコーディングの名前) のデフォルト値を、このディレクティブで指定します。
2d2eda71267231c2526be701fe655db125852c1ffielding これはレスポンス <transnote>レスポンスの HTML</transnote> 内で <code>META</code>
2d2eda71267231c2526be701fe655db125852c1ffielding 要素で指定された、どのような文字セットも無効にしますが、
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh 最終的な挙動はユーザのクライアント側の設定で決まります。
2efb935ae8fe12d5192a3bf2c52c28461b6c68afdgaudet この機能は <code>AddDefaultCharset Off</code> という設定で無効になります。
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <code>AddDefaultCharset On</code> にすれば、
2efb935ae8fe12d5192a3bf2c52c28461b6c68afdgaudet Apache 内部のデフォルト文字セット <code>iso-8859-1</code> に設定されます。
2efb935ae8fe12d5192a3bf2c52c28461b6c68afdgaudet その他 <var>charset</var> に指定できる値であれば、どんな値でも使えます。
2efb935ae8fe12d5192a3bf2c52c28461b6c68afdgaudet 指定する値は、MIME メディアタイプとして使われる
2efb935ae8fe12d5192a3bf2c52c28461b6c68afdgaudet <a href="http://www.iana.org/assignments/character-sets">IANA
2efb935ae8fe12d5192a3bf2c52c28461b6c68afdgaudet に登録されている文字セット名</a>のうちの一つにすべきです。
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh 例えば:</p>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb <example>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb AddDefaultCharset utf-8
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb </example>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <p><directive>AddDefaultCharset</directive> を使うときは、全てのテキストリソースが
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb 指定する文字エンコードになっていると分かっていて、かつ、
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb リソースの個々に文字セットを指定するのが大変な場合のみです。
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb 例を挙げると、レガシーな CGI スクリプトなどの、動的に生成される
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb コンテンツを含むリソースに文字セットパラメータを追加する場合で、
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh ユーザの入力データが出力に入り、クロスサイトスクリプティングが
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb 引き起こされうる場合です。デフォルト文字セットをセットしたとしても、
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb ブラウザの "文字エンコードの自動選択" 機能が有効になっているユーザを
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb 守ることにはならないので、もちろんより良い解決策は単にスクリプトを修正
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb (あるいは削除) することです。</p>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb</usage>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<seealso><directive module="mod_mime">AddCharset</directive></seealso>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb</directivesynopsis>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<directivesynopsis>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<name>AddOutputFilterByType</name>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<description>MIME-type に出力フィルタを割り当てる</description>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<syntax>AddOutputFilterByType <var>filter</var>[;<var>filter</var>...] <var>MIME-type</var>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb[<var>MIME-type</var>] ...</syntax>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<contextlist><context>server config</context>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<context>virtual host</context><context>directory</context>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<context>.htaccess</context></contextlist>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<override>FileInfo</override>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<compatibility>Apache 2.0.33 以降で使用可能; Apache 2.1 以降非推奨</compatibility>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<usage>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb <p>このディレクティブは応答の <glossary ref="mime-type">MIME タイプ</glossary> に応じて出力<a
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh href="/filter.html">フィルタ</a>を使用するようにします。
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb しかし後述する問題のため、このディレクティブは非推奨です。
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb 同等の機能は <module>mod_filter</module> で実現可能です。</p>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb
99d6d3207e24ba1f8eba77ef903948d738886cf5nd <p>次の例は <module>mod_deflate</module> の <code>DEFLATE</code> フィルタを
99d6d3207e24ba1f8eba77ef903948d738886cf5nd 使っています。<code>text/html</code> と <code>text/plain</code> の
99d6d3207e24ba1f8eba77ef903948d738886cf5nd すべての出力 (静的なものも動的なものも) をクライアントに送られる前に
99d6d3207e24ba1f8eba77ef903948d738886cf5nd 圧縮します。</p>
99d6d3207e24ba1f8eba77ef903948d738886cf5nd
99d6d3207e24ba1f8eba77ef903948d738886cf5nd <example>
99d6d3207e24ba1f8eba77ef903948d738886cf5nd AddOutputFilterByType DEFLATE text/html text/plain
99d6d3207e24ba1f8eba77ef903948d738886cf5nd </example>
99d6d3207e24ba1f8eba77ef903948d738886cf5nd
99d6d3207e24ba1f8eba77ef903948d738886cf5nd <p>複数のフィルタでコンテンツを処理させたいときは、それぞれの名前をセミコロンで
99d6d3207e24ba1f8eba77ef903948d738886cf5nd 分ける必要があります。各フィルタに対して
99d6d3207e24ba1f8eba77ef903948d738886cf5nd <directive>AddOutputFilterByType</directive> を一つずつ書くこともできます。</p>
99d6d3207e24ba1f8eba77ef903948d738886cf5nd
99d6d3207e24ba1f8eba77ef903948d738886cf5nd <p>次の例は <code>text/html</code> のスクリプトのすべての出力を
99d6d3207e24ba1f8eba77ef903948d738886cf5nd まず <code>INCLUDES</code> フィルタで処理し、さらに <code>DEFLATE</code> フィルタにかけます。</p>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <example>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb &lt;Location /cgi-bin/&gt;<br />
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <indent>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb Options Includes<br />
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb </indent>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb &lt;/Location&gt;
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb </example>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <note type="warning"><title>注:</title>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb <p><directive>AddOutputFilterByType</directive> ディレクティブにより
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh 有効にしたフィルタは場合によっては、部分的もしくは完全に適用されないことが
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb あります。例えば、<glossary ref="mime-type">MIME タイプ</glossary> が決定できないときには
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <directive module="core">DefaultType</directive> の設定が同じだったとしても、
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <directive module="core">DefaultType</directive> 設定を使うようになります。</p>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <p>しかし、確実にフィルタが適用されるようにしたいときは、リソースに
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 明示的にコンテントタイプを割り当てることができます。これには例えば
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <directive module="mod_mime">AddType</directive> ディレクティブや
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <directive module="core">ForceType</directive> ディレクティブを使います。
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb (nphでない) CGI スクリプトでコンテントタイプを設定するというものでも
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 大丈夫です。</p>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben </note>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben</usage>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<seealso><directive module="mod_mime">AddOutputFilter</directive></seealso>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben<seealso><directive module="core">SetOutputFilter</directive></seealso>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben<seealso><a href="/filter.html">フィルタ</a></seealso>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben</directivesynopsis>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
7b6ba9c468f26bdb3492d5e8cb79628a3b04e8c8wrowe<directivesynopsis>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<name>AllowEncodedSlashes</name>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<description>URL 中の符号化されたパス分離文字が先に伝えられるのを許可するかどうかを
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb決定する</description>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<syntax>AllowEncodedSlashes On|Off</syntax>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<default>AllowEncodedSlashes Off</default>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<contextlist><context>server config</context><context>virtual host</context>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb</contextlist>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<compatibility>Apache 2.0.46 以降で使用可能</compatibility>
1374444b4fab1475091e12a81663f379b73005efrbb
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<usage>
bbe046d7cbb950ab3e372e4119ae001a5fe52ed4striker <p><directive>AllowEncodedSlashes</directive> ディレクティブは符号化された
bbe046d7cbb950ab3e372e4119ae001a5fe52ed4striker パス分離文字 (<code>/</code> は <code>%2F</code>、さらにシステムによっては
bbe046d7cbb950ab3e372e4119ae001a5fe52ed4striker <code>\</code> に対応する <code>%5C</code>) が存在する URL の使用を
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh 許可するかどうかを決定します。通常はそのような URL は 404 (Not found) エラー
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh で拒否されます。</p>
c8aa00ee0cfc17b5fa08fb8a2b08d30dc9e4f1b1wrowe
c8aa00ee0cfc17b5fa08fb8a2b08d30dc9e4f1b1wrowe <p><directive>AllowEncodedSlashes</directive> <code>On</code> による
4542d057c4bde23857f31d449fa3108561206139wrowe パス分離文字の使用は、<code>PATH_INFO</code> と合わせて
c8aa00ee0cfc17b5fa08fb8a2b08d30dc9e4f1b1wrowe 使うときに一番役に立ちます。</p>
4542d057c4bde23857f31d449fa3108561206139wrowe
c8aa00ee0cfc17b5fa08fb8a2b08d30dc9e4f1b1wrowe <note><title>注</title>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <p>符号化されたスラッシュを許可することは、<em>復号</em>をすることを
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb 意味<em>しません</em>。<code>%2F</code> や (関係するシステムでの)
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb <code>%5C</code> は、他の部分が復号された URL の中でもそのままの形式で
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh 残されます。</p>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb </note>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh</usage>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<seealso><directive module="core">AcceptPathInfo</directive></seealso>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh</directivesynopsis>
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb<directivesynopsis>
6d74c65f131583f6832b04424c1a9e1e7cc72c8egregames<name>AllowOverride</name>
6d74c65f131583f6832b04424c1a9e1e7cc72c8egregames<description><code>.htaccess</code> で許可されるディレクティブの種類</description>
6d74c65f131583f6832b04424c1a9e1e7cc72c8egregames<syntax>AllowOverride All|None|<var>directive-type</var>
6d74c65f131583f6832b04424c1a9e1e7cc72c8egregames[<var>directive-type</var>] ...</syntax>
6d74c65f131583f6832b04424c1a9e1e7cc72c8egregames<default>AllowOverride All</default>
6d74c65f131583f6832b04424c1a9e1e7cc72c8egregames<contextlist><context>directory</context></contextlist>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<usage>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <p>サーバが (<directive
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh module="core">AccessFileName</directive> によって指定された)
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <code>.htaccess</code> ファイルを見つけた時、そのファイルの中で
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44crbb 宣言されたどのディレクティブがより前に定義された設定ディレクティブを
2e123e8beedc9f921448c113e2d6823a92fd5261fielding 上書きできるかを知る必要があります。</p>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <note><title>&lt;Directory&gt; セクションでのみ使用可能</title>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <directive>AllowOverride</directive> は正規表現無しの<directive
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben type="section" module="core">Directory</directive>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben セクションでのみ有効で、<directive type="section"
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben module="core">Location</directive> や <directive
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben module="core" type="section">DirectoryMatch</directive>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben や <directive type="section"
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben module="core">Files</directive> セクションでは無効です。
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben </note>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <p>このディレクティブを <code>None</code> に設定すると、<a href="#accessfilename">.htaccess</a> ファイルは完全に
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 無視されます。
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben この場合、サーバはファイルシステムの <code>.htaccess</code> ファイルを読むことを
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 試みさえしません。</p>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <p>このディレクティブが <code>All</code> に設定されている時には、
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <code>.htaccess</code> という <a
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben href="directive-dict.html#Context">コンテキスト</a> を持つ
64b9fa4bc3e79b0eefb2d93fb56eae40d88e0f06wrowe 全てのディレクティブが利用できます。</p>
64b9fa4bc3e79b0eefb2d93fb56eae40d88e0f06wrowe
64b9fa4bc3e79b0eefb2d93fb56eae40d88e0f06wrowe <p><var>directive-type</var> には、以下のディレクティブ群の
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben キーワードのどれかを指定します。</p>
64b9fa4bc3e79b0eefb2d93fb56eae40d88e0f06wrowe
64b9fa4bc3e79b0eefb2d93fb56eae40d88e0f06wrowe <dl>
64b9fa4bc3e79b0eefb2d93fb56eae40d88e0f06wrowe <dt>AuthConfig</dt>
64b9fa4bc3e79b0eefb2d93fb56eae40d88e0f06wrowe
64b9fa4bc3e79b0eefb2d93fb56eae40d88e0f06wrowe <dd>
64b9fa4bc3e79b0eefb2d93fb56eae40d88e0f06wrowe
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 認証に関するディレクティブの使用を許可する (<directive
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben module="mod_authn_dbm">AuthDBMGroupFile</directive>,
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <directive module="mod_authn_core">AuthName</directive>,
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <directive module="mod_authn_core">AuthType</directive>, <directive
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh module="mod_authn_file">AuthUserFile</directive>, <directive
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh module="mod_authz_core">Require</directive> <em>など</em>)。</dd>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <dt>FileInfo</dt>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <dd>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh ドキュメントタイプを制御するためのディレクティブの使用を許可する (<directive
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh module="core">DefaultType</directive>, <directive
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh module="core">ErrorDocument</directive>, <directive
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh module="core">ForceType</directive>, <directive
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh module="mod_negotiation">LanguagePriority</directive>,
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <directive module="core">SetHandler</directive>, <directive
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben module="core">SetInputFilter</directive>, <directive
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben module="core">SetOutputFilter</directive>,
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <module>mod_mime</module> の Add* と Remove*
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd ディレクティブ<em>など</em>),
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh ドキュメントのメタデータ (<directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_headers">Header</directive>, <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_headers">RequestHeader</directive>, <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_setenvif">SetEnvIf</directive>, <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_setenvif">SetEnvIfNoCase</directive>, <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_setenvif">BrowserMatch</directive>, <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_usertrack">CookieExpires</directive>, <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_usertrack">CookieDomain</directive>, <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_usertrack">CookieStyle</directive>, <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_usertrack">CookieTracking</directive>, <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_usertrack">CookieName</directive>),
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd <module>mod_rewrite</module> のディレクティブ <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_rewrite">RewriteEngine</directive>, <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_rewrite">RewriteOptions</directive>, <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_rewrite">RewriteBase</directive>, <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_rewrite">RewriteCond</directive>, <directive
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd module="mod_rewrite">RewriteRule</directive>) と
d11bf78168abbb07d8ed9f54d7ea0953d46aad83nd <module>mod_actions</module> の
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb <directive module="mod_actions">Action</directive>
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick ディレクティブ。
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick </dd>
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick <dt>Indexes</dt>
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick <dd>
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb ディレクトリインデックスを制御するためのディレクティブの使用を許可する
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb (<directive
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick module="mod_autoindex">AddDescription</directive>,
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick <directive module="mod_autoindex">AddIcon</directive>, <directive
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick module="mod_autoindex">AddIconByEncoding</directive>,
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick <directive module="mod_autoindex">AddIconByType</directive>,
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick <directive module="mod_autoindex">DefaultIcon</directive>, <directive
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick module="mod_dir">DirectoryIndex</directive>, <directive
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick module="mod_autoindex">FancyIndexing</directive>, <directive
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick module="mod_autoindex">HeaderName</directive>, <directive
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick module="mod_autoindex">IndexIgnore</directive>, <directive
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick module="mod_autoindex">IndexOptions</directive>, <directive
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben module="mod_autoindex">ReadmeName</directive>
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb <em>など</em>)。</dd>
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb
3d96ee83babeec32482c9082c9426340cee8c44dwrowe <dt>Limit</dt>
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb <dd>
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb ホストへのアクセス制御を行うためのディレクティブの使用を許可する (<directive
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb module="mod_authz_host">Allow</directive>, <directive
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb module="mod_authz_host">Deny</directive>, <directive
3d96ee83babeec32482c9082c9426340cee8c44dwrowe module="mod_authz_host">Order</directive>).</dd>
2d2eda71267231c2526be701fe655db125852c1ffielding
4e2c23ca8bd7b207f6e9c396759c1e2171370990trawick <dt>Options[=<var>Option</var>,...]</dt>
ceb14f8ba57a8086c9a68ad264efbe2433134382covener
ceb14f8ba57a8086c9a68ad264efbe2433134382covener <dd>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh 特定のディレクトリにおける機能を指定するためのディレクティブの使用を許可する
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh (<directive module="core">Options</directive> と
2d2eda71267231c2526be701fe655db125852c1ffielding <directive module="mod_include">XBitHack</directive>)。
2d2eda71267231c2526be701fe655db125852c1ffielding <directive module="core">Options</directive> で設定するオプション
b0d8a6d437db6f4c222173f27ef81c98622fbd02pquerna を、(空白を含めない) コンマ区切りのリストにして等号の後に続けることで
b0d8a6d437db6f4c222173f27ef81c98622fbd02pquerna 設定できます。</dd>
2d2eda71267231c2526be701fe655db125852c1ffielding </dl>
ceb14f8ba57a8086c9a68ad264efbe2433134382covener
ceb14f8ba57a8086c9a68ad264efbe2433134382covener <p>例:</p>
ceb14f8ba57a8086c9a68ad264efbe2433134382covener
ceb14f8ba57a8086c9a68ad264efbe2433134382covener <example>
ceb14f8ba57a8086c9a68ad264efbe2433134382covener AllowOverride AuthConfig Indexes
ceb14f8ba57a8086c9a68ad264efbe2433134382covener </example>
ceb14f8ba57a8086c9a68ad264efbe2433134382covener
ceb14f8ba57a8086c9a68ad264efbe2433134382covener <p>上の例では <code>AuthConfig</code> と <code>Indexes</code> のどちらにも
ceb14f8ba57a8086c9a68ad264efbe2433134382covener 属さないディレクティブはすべて内部サーバエラーを引き起こします。</p>
ceb14f8ba57a8086c9a68ad264efbe2433134382covener</usage>
2d2eda71267231c2526be701fe655db125852c1ffielding
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<seealso><directive module="core">AccessFileName</directive></seealso>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<seealso><a href="/configuring.html">設定ファイル</a></seealso>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<seealso><a href="/howto/htaccess.html">.htaccess ファイル</a></seealso>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh</directivesynopsis>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<directivesynopsis>
2d2eda71267231c2526be701fe655db125852c1ffielding<name>CGIMapExtension</name>
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm<description>CGI スクリプトのインタープリタの位置を調べるための手法</description>
2d2eda71267231c2526be701fe655db125852c1ffielding<syntax>CGIMapExtension <var>cgi-path</var> <var>.extension</var></syntax>
cf35a54aa4b61245bf315cc594f8809c1cf31729geoff<contextlist><context>directory</context><context>.htaccess</context>
2d2eda71267231c2526be701fe655db125852c1ffielding</contextlist>
2d2eda71267231c2526be701fe655db125852c1ffielding<override>FileInfo</override>
2d2eda71267231c2526be701fe655db125852c1ffielding<compatibility>NetWare のみ</compatibility>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding<usage>
2d2eda71267231c2526be701fe655db125852c1ffielding <p>このディレクティブは Apache が CGI スクリプトを実行するための
2d2eda71267231c2526be701fe655db125852c1ffielding インタープリタを探す方法を制御します。
2d2eda71267231c2526be701fe655db125852c1ffielding 例えば、<code>CGIMapExtension sys:\foo.nlm .foo</code> と設定すると
2d2eda71267231c2526be701fe655db125852c1ffielding <code>.foo</code> という拡張子のすべての CGI スクリプトは FOO インタープリタに
2d2eda71267231c2526be701fe655db125852c1ffielding 渡されます。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding</usage>
2d2eda71267231c2526be701fe655db125852c1ffielding</directivesynopsis>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding<directivesynopsis>
2d2eda71267231c2526be701fe655db125852c1ffielding<name>ContentDigest</name>
2d2eda71267231c2526be701fe655db125852c1ffielding<description><code>Content-MD5</code> HTTP 応答ヘッダの生成を有効にする</description>
2d2eda71267231c2526be701fe655db125852c1ffielding<syntax>ContentDigest On|Off</syntax>
2d2eda71267231c2526be701fe655db125852c1ffielding<default>ContentDigest Off</default>
2d2eda71267231c2526be701fe655db125852c1ffielding<contextlist><context>server config</context><context>virtual host</context>
2d2eda71267231c2526be701fe655db125852c1ffielding<context>directory</context><context>.htaccess</context>
2d2eda71267231c2526be701fe655db125852c1ffielding</contextlist>
2d2eda71267231c2526be701fe655db125852c1ffielding<override>Options</override>
2d2eda71267231c2526be701fe655db125852c1ffielding<status>Experimental</status>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding<usage>
2d2eda71267231c2526be701fe655db125852c1ffielding <p>このディレクティブは、RFC1864 及び RFC2616 において定義されている
2d2eda71267231c2526be701fe655db125852c1ffielding <code>Content-MD5</code> ヘッダーの生成を有効にします。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <p>MD5 は、任意長のデータの「メッセージダイジェスト」(「指紋」
2d2eda71267231c2526be701fe655db125852c1ffielding と表現されることもある) を計算するアルゴリズムで、
2d2eda71267231c2526be701fe655db125852c1ffielding データの変更があった場合には非常に高い信頼度でメッセージダイジェストに変更が
2d2eda71267231c2526be701fe655db125852c1ffielding 反映されます。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <p><code>Content-MD5</code> ヘッダは、エンドツーエンドで
2d2eda71267231c2526be701fe655db125852c1ffielding エンティティボディーに含まれるメッセージの完全性チェック
2d2eda71267231c2526be701fe655db125852c1ffielding (Message Integrity Check - MIC)を提供します。
2d2eda71267231c2526be701fe655db125852c1ffielding このヘッダを調べることで、プロキシやクライアントは、
2d2eda71267231c2526be701fe655db125852c1ffielding 途中経路におけるエンティティボディの予期せぬ変更などを
2d2eda71267231c2526be701fe655db125852c1ffielding 検出することができます。ヘッダの例:</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
4d88cba691cf0cc222161dc403067071eca58751rbb <example>
2d2eda71267231c2526be701fe655db125852c1ffielding Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
2d2eda71267231c2526be701fe655db125852c1ffielding </example>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <p>リクエスト毎にメッセージダイジェストを計算する (値はキャッシュされません)
2d2eda71267231c2526be701fe655db125852c1ffielding ことから、
2d2eda71267231c2526be701fe655db125852c1ffielding サーバパフォーマンスが低下することについて注意してください。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <p><code>Content-MD5</code >は、<module>core</module> 機能により処理された
2d2eda71267231c2526be701fe655db125852c1ffielding ドキュメントを送るときのみ有効であり、
2d2eda71267231c2526be701fe655db125852c1ffielding SSI ドキュメントや CGI スクリプトの出力、バイトレンジを指定した
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh 応答の場合にはこのヘッダは付与されません。
2d2eda71267231c2526be701fe655db125852c1ffielding </p>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh</usage>
2d2eda71267231c2526be701fe655db125852c1ffielding</directivesynopsis>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh
2d2eda71267231c2526be701fe655db125852c1ffielding<directivesynopsis>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<name>DefaultType</name>
2d2eda71267231c2526be701fe655db125852c1ffielding<description>サーバがコンテントタイプを決定できないときに
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh送られる MIME コンテントタイプ</description>
2d2eda71267231c2526be701fe655db125852c1ffielding<syntax>DefaultType <var>MIME-type|none</var></syntax>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<default>DefaultType text/plain</default>
2d2eda71267231c2526be701fe655db125852c1ffielding<contextlist><context>server config</context><context>virtual host</context>
a59f92f67a2c7735469d0ade559f96218627eef0niq<context>directory</context><context>.htaccess</context>
a59f92f67a2c7735469d0ade559f96218627eef0niq</contextlist>
2d2eda71267231c2526be701fe655db125852c1ffielding<override>FileInfo</override>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<compatibility>引数 <code>none</code> は Apache 2.2.7 以降で利用可能</compatibility>
2d2eda71267231c2526be701fe655db125852c1ffielding<usage>
2d2eda71267231c2526be701fe655db125852c1ffielding <p>サーバは、<glossary ref="mime-type">MIME タイプ</glossary>
2d2eda71267231c2526be701fe655db125852c1ffielding のマップからは決定できないドキュメントの送信を要求されることがあります。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <p>サーバは、ドキュメントのコンテントタイプをクライアントに通知するべきです。
2d2eda71267231c2526be701fe655db125852c1ffielding サーバで通常の方法ではこれが判定できない場合は、
2d2eda71267231c2526be701fe655db125852c1ffielding <code>DefaultType</code> で指定されたタイプを利用します。
2d2eda71267231c2526be701fe655db125852c1ffielding 例:</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <example>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh DefaultType image/gif
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh </example>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <p>これは <code>.gif</code> という拡張子がファイル名に含まれていない
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh 多くの GIF 画像が含まれているディレクトリに適しているでしょう。</p>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <p>サーバでも管理者でも判定することができない (例えばプロクシの) 場合、
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh 誤った情報を与えるよりは MIME タイプの指定がない状態が望ましいことも
2d2eda71267231c2526be701fe655db125852c1ffielding あります。この場合は次のようにします :</p>
2d2eda71267231c2526be701fe655db125852c1ffielding <example>
763f7b125b6d3dd1e4992a3822005efa2616f983coar DefaultType None
763f7b125b6d3dd1e4992a3822005efa2616f983coar </example>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <p><code>DefaultType None</code> は httpd-2.2.7
2d2eda71267231c2526be701fe655db125852c1ffielding 以降でのみ利用できます。</p>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <p><directive module="core">ForceType</directive> ディレクティブと
5a9667916c79d8c699b069068e5570aa1c331c80gstein 違って、このディレクティブはデフォルトの MIME タイプを提供するだけで
5a9667916c79d8c699b069068e5570aa1c331c80gstein あることに注意してください。ファイル名の拡張子を含め、
5a9667916c79d8c699b069068e5570aa1c331c80gstein メディアタイプを決定できる他の MIME タイプの定義があれば
5a9667916c79d8c699b069068e5570aa1c331c80gstein このデフォルトは上書きされます。</p>
5a9667916c79d8c699b069068e5570aa1c331c80gstein</usage>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh</directivesynopsis>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<directivesynopsis>
5a9667916c79d8c699b069068e5570aa1c331c80gstein<name>Define</name>
5a9667916c79d8c699b069068e5570aa1c331c80gstein<description>変数の存在を宣言する</description>
5a9667916c79d8c699b069068e5570aa1c331c80gstein<syntax>Define <var>parameter-name</var></syntax>
5a9667916c79d8c699b069068e5570aa1c331c80gstein<contextlist><context>server config</context></contextlist>
5a9667916c79d8c699b069068e5570aa1c331c80gstein
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<usage>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <p><program>httpd</program> の <code>-D</code>
5a9667916c79d8c699b069068e5570aa1c331c80gstein 引数と同じものです。</p>
5a9667916c79d8c699b069068e5570aa1c331c80gstein <p>このディレクティブを使うと、スタートアップスクリプトに
5a9667916c79d8c699b069068e5570aa1c331c80gstein 記載されている <code>-D</code> 引数を書き換える必要なく、
5a9667916c79d8c699b069068e5570aa1c331c80gstein <directive module="core" type="section">IfDefine</directive>
5a9667916c79d8c699b069068e5570aa1c331c80gstein セクションを切り替えることができます。</p>
5a9667916c79d8c699b069068e5570aa1c331c80gstein</usage>
5a9667916c79d8c699b069068e5570aa1c331c80gstein</directivesynopsis>
5a9667916c79d8c699b069068e5570aa1c331c80gstein
5a9667916c79d8c699b069068e5570aa1c331c80gstein<directivesynopsis type="section">
5a9667916c79d8c699b069068e5570aa1c331c80gstein<name>Directory</name>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<description>指定のファイルシステムのディレクトリとサブディレクトリとのみに
2d2eda71267231c2526be701fe655db125852c1ffielding適用されるディレクティブを囲む</description>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<syntax>&lt;Directory <var>directory-path</var>&gt;
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh... &lt;/Directory&gt;</syntax>
62db15de4c1f335a64d45821796ae197cff94ef8rbb<contextlist><context>server config</context><context>virtual host</context>
62db15de4c1f335a64d45821796ae197cff94ef8rbb</contextlist>
62db15de4c1f335a64d45821796ae197cff94ef8rbb
2d2eda71267231c2526be701fe655db125852c1ffielding<usage>
48d2edbfb84e5559b5da0f8d614ccab805cc67a8rbb <p>指定されたディレクトリとそのサブディレクトリにのみ
48d2edbfb84e5559b5da0f8d614ccab805cc67a8rbb ディレクティブを適用させるためには、
48d2edbfb84e5559b5da0f8d614ccab805cc67a8rbb <directive type="section">Directory</directive> と
5a9667916c79d8c699b069068e5570aa1c331c80gstein <code>&lt;/Directory&gt;</code> を対として、ディレクティブ群を囲います。
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh その中には、ディレクトリコンテキストで許可された全てのディレクティブを
48d2edbfb84e5559b5da0f8d614ccab805cc67a8rbb 利用できます。
48d2edbfb84e5559b5da0f8d614ccab805cc67a8rbb <var>directive-path</var> は、フルパスもしくは Unix のシェル形式の
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh ワイルドカードを指定します。
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <code>?</code> は任意の 1 文字、<code>*</code> は任意の文字列にマッチします。
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh シェルにおける指定同様、文字の範囲を <code>[]</code> で指定できます。
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb ワイルドカードは `/' 文字にはマッチしませんので、
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <code>/home/user/public_html</code> には
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <code>&lt;Directory /*/public_html&gt;</code> はマッチしませんが、
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <code>&lt;Directory /home/*/public_html&gt;</code> はマッチします。
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh 例:</p>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
91f0d8da77152d24e4bbb31ce199282b3fd6e3b2coar <example>
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb &lt;Directory /usr/local/httpd/htdocs&gt;<br />
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <indent>
62db15de4c1f335a64d45821796ae197cff94ef8rbb Options Indexes FollowSymLinks<br />
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh </indent>
91f0d8da77152d24e4bbb31ce199282b3fd6e3b2coar &lt;/Directory&gt;
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb </example>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <note>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <p><var>directory-path</var> 引数には注意してください: その引数は
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh Apache がファイルをアクセスするために使うファイルシステムのパスに
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh そのままマッチする必要があります。ある <code>&lt;Directory&gt;</code> に
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh 適用されるディレクティブは、別のシンボリックリンクをたどったりして
2d2eda71267231c2526be701fe655db125852c1ffielding 同じディレクトリを違うパスでアクセスした場合には適用されません。</p>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh </note>
2d2eda71267231c2526be701fe655db125852c1ffielding
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <p><code>~</code> という文字を
2d2eda71267231c2526be701fe655db125852c1ffielding 付加することで<glossary ref="regex">正規表現</glossary>を利用することもできます。
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh 例えば:</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <example>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh &lt;Directory ~ "^/www/.*/[0-9]{3}"&gt;
54e94821097724bf413d2d4cc70711760f7494e1trawick </example>
db3fa7db7c7910f2f23c3e3ffe0cf9f41a1899b9trawick
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <p>といった指定の場合、<code>/www/</code> 以下にある数字
2d2eda71267231c2526be701fe655db125852c1ffielding 3 文字のディレクトリにマッチします。</p>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh
2d2eda71267231c2526be701fe655db125852c1ffielding <p>もし複数の (正規表現以外の) <directive type="section"
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh >Directory</directive>セクションが
54e94821097724bf413d2d4cc70711760f7494e1trawick ドキュメントを含むディレクトリ (やその上位ディレクトリのどれか) とマッチしたならば、
db3fa7db7c7910f2f23c3e3ffe0cf9f41a1899b9trawick <a
54e94821097724bf413d2d4cc70711760f7494e1trawick href="#accessfilename">.htaccess</a> ファイルのディレクティブも読み込みつつ、
54e94821097724bf413d2d4cc70711760f7494e1trawick 短いパスから順に適用されます。
54e94821097724bf413d2d4cc70711760f7494e1trawick 例えば、</p>
54e94821097724bf413d2d4cc70711760f7494e1trawick
54e94821097724bf413d2d4cc70711760f7494e1trawick <example>
54e94821097724bf413d2d4cc70711760f7494e1trawick &lt;Directory /&gt;<br />
54e94821097724bf413d2d4cc70711760f7494e1trawick <indent>
54e94821097724bf413d2d4cc70711760f7494e1trawick AllowOverride None<br />
54e94821097724bf413d2d4cc70711760f7494e1trawick </indent>
db3fa7db7c7910f2f23c3e3ffe0cf9f41a1899b9trawick &lt;/Directory&gt;<br />
c8477d12d1b127ab46dffe4ee526b9d11f71699egregames <br />
c8477d12d1b127ab46dffe4ee526b9d11f71699egregames &lt;Directory /home/&gt;<br />
2d2eda71267231c2526be701fe655db125852c1ffielding <indent>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh AllowOverride FileInfo<br />
cd9eb79cfbf9bc730ccacc3a3774b1fe1b99ed53wrowe </indent>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh &lt;/Directory&gt;
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh </example>
2d2eda71267231c2526be701fe655db125852c1ffielding
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <p>と設定し、ドキュメント <code>/home/web/dir/doc.html</code> への
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh アクセスがあった場合には以下のように動作します:</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <ul>
2d2eda71267231c2526be701fe655db125852c1ffielding <li><code>AllowOverride None</code> が適用される。
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh (<code>.htaccess</code> ファイルは無効になる)</li>
2d2eda71267231c2526be701fe655db125852c1ffielding
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <li><code>AllowOverride FileInfo</code> が適用される
2d2eda71267231c2526be701fe655db125852c1ffielding (<code>/home</code> ディレクトリに対して)。</li>
cd9eb79cfbf9bc730ccacc3a3774b1fe1b99ed53wrowe
cd9eb79cfbf9bc730ccacc3a3774b1fe1b99ed53wrowe <li><code>/home/.htaccess</code>, <code>/home/web/.htaccess</code>,
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <code>/home/web/dir/.htaccess</code> の順にそれらのファイル中の
cd9eb79cfbf9bc730ccacc3a3774b1fe1b99ed53wrowe FileInfo ディレクティブが適用される。</li>
cd9eb79cfbf9bc730ccacc3a3774b1fe1b99ed53wrowe </ul>
cd9eb79cfbf9bc730ccacc3a3774b1fe1b99ed53wrowe
cd9eb79cfbf9bc730ccacc3a3774b1fe1b99ed53wrowe <p>正規表現は、通常のセクションがすべて適用されるまで
e57fd661645dcfdf166e77484b509b248e62a19eaaron 考慮されません。
e57fd661645dcfdf166e77484b509b248e62a19eaaron その後、全ての正規表現が設定ファイルに現れた順で試されます。
e57fd661645dcfdf166e77484b509b248e62a19eaaron 例えば、以下のような場合に</p>
cd9eb79cfbf9bc730ccacc3a3774b1fe1b99ed53wrowe
e57fd661645dcfdf166e77484b509b248e62a19eaaron <example>
cd9eb79cfbf9bc730ccacc3a3774b1fe1b99ed53wrowe &lt;Directory ~ abc$&gt;<br />
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <indent>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh # ... directives here ...<br />
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh </indent>
cd9eb79cfbf9bc730ccacc3a3774b1fe1b99ed53wrowe &lt;/Directory&gt;
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh </example>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh
2d2eda71267231c2526be701fe655db125852c1ffielding <p>正規表現のセクションはすべての通常の <directive
2d2eda71267231c2526be701fe655db125852c1ffielding type="section">Directory</directive> と
2d2eda71267231c2526be701fe655db125852c1ffielding <code>.htaccess</code> の適用が終わるまで考慮されません。
2d2eda71267231c2526be701fe655db125852c1ffielding その後で、正規表現は <code>/home/abc/public_html/abc</code> にマッチし、
2d2eda71267231c2526be701fe655db125852c1ffielding 対応する <directive type="section">Directory</directive> が適用されます。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <p><strong>Apache のデフォルトでは <code>&lt;Directory /&gt;</code> へのアクセスは
2d2eda71267231c2526be701fe655db125852c1ffielding <code>Allow from All</code> になっていることに注意してください。
2d2eda71267231c2526be701fe655db125852c1ffielding これは、URL からマップされたどのファイルでも Apache は送るということです。
2d2eda71267231c2526be701fe655db125852c1ffielding これは以下のようにして変更することが推奨されています。</strong></p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <example>
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;Directory /&gt;<br />
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <indent>
2d2eda71267231c2526be701fe655db125852c1ffielding Order Deny,Allow<br />
2d2eda71267231c2526be701fe655db125852c1ffielding Deny from All<br />
2d2eda71267231c2526be701fe655db125852c1ffielding </indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;/Directory&gt;
952908500d5f99f35afc5ed510391b9bdc3833farbb </example>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <p><strong>そしてアクセスを<em>可能にしたい</em>ディレクトリに対して
103a93c625bcde1a6a7a5155b64dcda36f612180pquerna 個別に設定すればよいでしょう。
103a93c625bcde1a6a7a5155b64dcda36f612180pquerna このあたりについては、<a
952908500d5f99f35afc5ed510391b9bdc3833farbb href="/misc/security_tips.html">セキュリティに関するコツ</a>を
a6b9ed64fdf548c61de9714e2cfb999ec59d149cgstein 参照してください。</strong></p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
2d2eda71267231c2526be701fe655db125852c1ffielding <p>ディレクトリセクションは <code>httpd.conf</code> ファイルに書きます。
2d2eda71267231c2526be701fe655db125852c1ffielding <directive type="section">Directory</directive>
2d2eda71267231c2526be701fe655db125852c1ffielding ディレクティブは入れ子にすることができず、
3887202241db08986e94b252fbd06a55e55d4b2dbhyde <directive module="core" type="section">Limit</directive> や <directive
3887202241db08986e94b252fbd06a55e55d4b2dbhyde module="core" type="section">LimitExcept</directive> セクションの中にも
3887202241db08986e94b252fbd06a55e55d4b2dbhyde 記述できません。</p>
3887202241db08986e94b252fbd06a55e55d4b2dbhyde
3887202241db08986e94b252fbd06a55e55d4b2dbhyde</usage>
3887202241db08986e94b252fbd06a55e55d4b2dbhyde<seealso>リクエストを受けた際にこれらの異なるセクションが
3887202241db08986e94b252fbd06a55e55d4b2dbhyde 組み合わされる方法については <a href="/sections.html">
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh &lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh</directivesynopsis>
3887202241db08986e94b252fbd06a55e55d4b2dbhyde
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<directivesynopsis type="section">
2d2eda71267231c2526be701fe655db125852c1ffielding<name>DirectoryMatch</name>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<description>正規表現にマッチするファイルシステムのディレクトリと
3887202241db08986e94b252fbd06a55e55d4b2dbhydeサブディレクトリとのみに適用されるディレクティブを囲む</description>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<syntax>&lt;DirectoryMatch <var>regex</var>&gt;
2d2eda71267231c2526be701fe655db125852c1ffielding... &lt;/DirectoryMatch&gt;</syntax>
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna<contextlist><context>server config</context><context>virtual host</context>
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna</contextlist>
2d2eda71267231c2526be701fe655db125852c1ffielding
7c7372abe2484e7fcf81937b93496d1246e5b816gstein<usage>
7c7372abe2484e7fcf81937b93496d1246e5b816gstein <p><directive module="core" type="section">Directory</directive>
864c5615d55b8ebbde24e72043f6325741335a74fielding ディレクティブと同様に、<directive type="section">DirectoryMatch</directive>
2d2eda71267231c2526be701fe655db125852c1ffielding と <code>&lt;/DirectoryMatch&gt;</code> は指定されたディレクトリと
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh そのサブディレクトリにのみ適用されるディレクティブ群を囲います。
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh しかし、このディレクティブは引数として<glossary
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh ref="regex">正規表現</glossary>をとります。例えば:</p>
3887202241db08986e94b252fbd06a55e55d4b2dbhyde
e57fd661645dcfdf166e77484b509b248e62a19eaaron <example>
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;DirectoryMatch "^/www/(.+/)?[0-9]{3}"&gt;
e57fd661645dcfdf166e77484b509b248e62a19eaaron </example>
952908500d5f99f35afc5ed510391b9bdc3833farbb
e57fd661645dcfdf166e77484b509b248e62a19eaaron <p>は <code>/www/</code> 以下にある数字 3 文字のディレクトリにマッチします。</p>
3887202241db08986e94b252fbd06a55e55d4b2dbhyde
952908500d5f99f35afc5ed510391b9bdc3833farbb</usage>
50cf9b8da68bea71ce5a49b4cb4be3be516486bdgstein<seealso>通常の <directive type="section">Directory</directive> と正規表現の指定が
952908500d5f99f35afc5ed510391b9bdc3833farbb適用される順番については <directive type="section"
3887202241db08986e94b252fbd06a55e55d4b2dbhydemodule="core">Directory</directive></seealso>
3887202241db08986e94b252fbd06a55e55d4b2dbhyde<seealso>リクエストを受けた際にこれらの異なるセクションが
3887202241db08986e94b252fbd06a55e55d4b2dbhyde 組み合わされる方法については <a href="/sections.html">
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh &lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh</directivesynopsis>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
2d2eda71267231c2526be701fe655db125852c1ffielding<directivesynopsis>
952908500d5f99f35afc5ed510391b9bdc3833farbb<name>DocumentRoot</name>
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm<description>ウェブから見えるメインのドキュメントツリーになる
e57fd661645dcfdf166e77484b509b248e62a19eaaronディレクトリ</description>
2d2eda71267231c2526be701fe655db125852c1ffielding<syntax>DocumentRoot <var>directory-path</var></syntax>
e57fd661645dcfdf166e77484b509b248e62a19eaaron<default>DocumentRoot /usr/local/apache/htdocs</default>
2d2eda71267231c2526be701fe655db125852c1ffielding<contextlist><context>server config</context><context>virtual host</context>
2d2eda71267231c2526be701fe655db125852c1ffielding</contextlist>
e57fd661645dcfdf166e77484b509b248e62a19eaaron
952908500d5f99f35afc5ed510391b9bdc3833farbb<usage>
e57fd661645dcfdf166e77484b509b248e62a19eaaron <p>このディレクティブは、<program>httpd</program>
952908500d5f99f35afc5ed510391b9bdc3833farbb がファイルを提供するディレクトリを設定します。
2d2eda71267231c2526be701fe655db125852c1ffielding <directive module="mod_alias">Alias</directive> のようなディレクティブにマッチしない場合には、
6658f209f08181bd218341770db9f428032dd23ajwoolley ドキュメントの (訳注:ファイルシステム上の) パスを生成するために、
6658f209f08181bd218341770db9f428032dd23ajwoolley リクエストされた URL のパス部分をドキュメントルートに付与します。
952908500d5f99f35afc5ed510391b9bdc3833farbb 例:</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <example>
2d2eda71267231c2526be701fe655db125852c1ffielding DocumentRoot /usr/web
2d2eda71267231c2526be701fe655db125852c1ffielding </example>
e57fd661645dcfdf166e77484b509b248e62a19eaaron
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>この場合、
97ff7bf3f33a3527953d975df5cbf82a5a7dc9a6wrowe <code>http://www.my.host.com/index.html</code> へのアクセスがあれば
952908500d5f99f35afc5ed510391b9bdc3833farbb <code>/usr/web/index.html</code> が返されます。
853a0c44563b056e40e9cffe911190f554e63ec3chuck <var>directory-path</var> が絶対パスでない場合は、
79c0ed7d839527abd86794a6b1d2df4fd189a2a8jerenkrantz <directive module="core">ServerRoot</directive>
79c0ed7d839527abd86794a6b1d2df4fd189a2a8jerenkrantz からの相対パスとみなされます。</p>
853a0c44563b056e40e9cffe911190f554e63ec3chuck
952908500d5f99f35afc5ed510391b9bdc3833farbb <p><directive>DocumentRoot</directive> は最後のスラッシュ無しで
952908500d5f99f35afc5ed510391b9bdc3833farbb 指定する必要があります。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb</usage>
e57fd661645dcfdf166e77484b509b248e62a19eaaron<seealso><a href="/urlmapping.html#documentroot">URL をファイルシステムの位置に
952908500d5f99f35afc5ed510391b9bdc3833farbbマップする</a></seealso>
e57fd661645dcfdf166e77484b509b248e62a19eaaron</directivesynopsis>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb<directivesynopsis>
952908500d5f99f35afc5ed510391b9bdc3833farbb<name>EnableMMAP</name>
952908500d5f99f35afc5ed510391b9bdc3833farbb<description>配送中にファイルを読み込むためにメモリマッピングを
e57fd661645dcfdf166e77484b509b248e62a19eaaron使うかどうか</description>
952908500d5f99f35afc5ed510391b9bdc3833farbb<syntax>EnableMMAP On|Off</syntax>
952908500d5f99f35afc5ed510391b9bdc3833farbb<default>EnableMMAP On</default>
952908500d5f99f35afc5ed510391b9bdc3833farbb<contextlist><context>server config</context><context>virtual host</context>
952908500d5f99f35afc5ed510391b9bdc3833farbb<context>directory</context><context>.htaccess</context>
e57fd661645dcfdf166e77484b509b248e62a19eaaron</contextlist>
952908500d5f99f35afc5ed510391b9bdc3833farbb<override>FileInfo</override>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding<usage>
2d2eda71267231c2526be701fe655db125852c1ffielding <p>このディレクティブは配送中にファイルの内容を読み込む必要があるときに
2d2eda71267231c2526be701fe655db125852c1ffielding <program>httpd</program> がメモリマッピングを使うかどうかを制御します。
2d2eda71267231c2526be701fe655db125852c1ffielding デフォルトでは、
e57fd661645dcfdf166e77484b509b248e62a19eaaron 例えば、<module>mod_include</module> を使って SSI ファイルを配送
952908500d5f99f35afc5ed510391b9bdc3833farbb するときのように、ファイルの途中のデータをアクセスする必要があるときには
952908500d5f99f35afc5ed510391b9bdc3833farbb Apache は OS がサポートしていればファイルをメモリにマップします。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>
9f9307bbe539dbcf96919715315eb64ce3465f5bben このメモリマップは性能の向上をもたらすことがあります。
e57fd661645dcfdf166e77484b509b248e62a19eaaron しかし、環境によっては運用上の問題を防ぐためにメモリマッピングを
952908500d5f99f35afc5ed510391b9bdc3833farbb 使用しないようにした方が良い場合もあります:</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <ul>
952908500d5f99f35afc5ed510391b9bdc3833farbb <li>マルチプロセッサシステムの中にはメモリマッピングをすると
952908500d5f99f35afc5ed510391b9bdc3833farbb <program>httpd</program> の性能が落ちるものがあります。</li>
952908500d5f99f35afc5ed510391b9bdc3833farbb <li>NFS マウントされた <directive module="core">DocumentRoot</directive>
952908500d5f99f35afc5ed510391b9bdc3833farbb では、<program>httpd</program> がメモリマップしている間にファイルが削除されたり
952908500d5f99f35afc5ed510391b9bdc3833farbb 短くなったりしたときに起こるセグメンテーションフォールトのために
952908500d5f99f35afc5ed510391b9bdc3833farbb <program>httpd</program> がクラッシュする可能性があります。</li>
952908500d5f99f35afc5ed510391b9bdc3833farbb </ul>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>これらの問題に当てはまるサーバの設定の場合は、以下のようにして
952908500d5f99f35afc5ed510391b9bdc3833farbb ファイルの配送時のメモリマッピングを使用不可にしてください:</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <example>
952908500d5f99f35afc5ed510391b9bdc3833farbb EnableMMAP Off
9f9307bbe539dbcf96919715315eb64ce3465f5bben </example>
952908500d5f99f35afc5ed510391b9bdc3833farbb
62db15de4c1f335a64d45821796ae197cff94ef8rbb <p>NFS マウントされたファイルには、問題のあるファイルにのみ明示的に
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb この機能を使用不可にします:</p>
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb <example>
a520b923984f45daeaf0741d5c7e3de1f2d24509rbb &lt;Directory "/path-to-nfs-files"&gt;
2d2eda71267231c2526be701fe655db125852c1ffielding <indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb EnableMMAP Off
11a7b0dff22d26770b532c174d1cf2e7b56ec244wrowe </indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;/Directory&gt;
11a7b0dff22d26770b532c174d1cf2e7b56ec244wrowe </example>
e57fd661645dcfdf166e77484b509b248e62a19eaaron</usage>
952908500d5f99f35afc5ed510391b9bdc3833farbb</directivesynopsis>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding<directivesynopsis>
2d2eda71267231c2526be701fe655db125852c1ffielding<name>EnableSendfile</name>
952908500d5f99f35afc5ed510391b9bdc3833farbb<description>ファイルのクライアントへの配送時にカーネルの sendfile サポートを
952908500d5f99f35afc5ed510391b9bdc3833farbb使うかどうか</description>
952908500d5f99f35afc5ed510391b9bdc3833farbb<syntax>EnableSendfile On|Off</syntax>
952908500d5f99f35afc5ed510391b9bdc3833farbb<default>EnableSendfile On</default>
952908500d5f99f35afc5ed510391b9bdc3833farbb<contextlist><context>server config</context><context>virtual host</context>
7bdef86e15d47d16dcbe7a5611683191774bd5fbgstein<context>directory</context><context>.htaccess</context>
952908500d5f99f35afc5ed510391b9bdc3833farbb</contextlist>
e57fd661645dcfdf166e77484b509b248e62a19eaaron<override>FileInfo</override>
11a7b0dff22d26770b532c174d1cf2e7b56ec244wrowe<compatibility>バージョン 2.0.44 以降で使用可能</compatibility>
e57fd661645dcfdf166e77484b509b248e62a19eaaron
11a7b0dff22d26770b532c174d1cf2e7b56ec244wrowe<usage>
e57fd661645dcfdf166e77484b509b248e62a19eaaron <p>このディレクティブはクライアントにファイルの内容を送るときに
e57fd661645dcfdf166e77484b509b248e62a19eaaron <program>httpd</program> がカーネルの
e57fd661645dcfdf166e77484b509b248e62a19eaaron sendfile サポートを使うかどうかを制御します。デフォルトでは、
952908500d5f99f35afc5ed510391b9bdc3833farbb 例えば静的なファイルの配送のように、リクエストの処理にファイルの
952908500d5f99f35afc5ed510391b9bdc3833farbb 途中のデータのアクセスを必要としないときには、Apache は OS が
952908500d5f99f35afc5ed510391b9bdc3833farbb サポートしていればファイルを読み込むことなく sendfile を使って
952908500d5f99f35afc5ed510391b9bdc3833farbb ファイルの内容を送ります。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
2d2eda71267231c2526be701fe655db125852c1ffielding <p>sendfile は read と send を別々に行なうことと、バッファの割り当てを
2d2eda71267231c2526be701fe655db125852c1ffielding 回避します。しかし、プラットフォームやファイルシステムの中には
2d2eda71267231c2526be701fe655db125852c1ffielding 運用上の問題を避けるためにこの機能を使用不可にした方が良い場合があります:</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <ul>
2d2eda71267231c2526be701fe655db125852c1ffielding <li>プラットフォームの中にはビルドシステムが検知できなかった、壊れた
2d2eda71267231c2526be701fe655db125852c1ffielding sendfile のサポートが存在するものがあります。これは特に
2d2eda71267231c2526be701fe655db125852c1ffielding バイナリが別のマシンでビルドされ、壊れた sendfile のあるマシンに
2d2eda71267231c2526be701fe655db125852c1ffielding 移動したときに起こります。</li>
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm <li>Linux では、sendfile を用いると、
2d2eda71267231c2526be701fe655db125852c1ffielding IPv6 使用時に存在する特定ネットワークカードの TCP-checksum
2d2eda71267231c2526be701fe655db125852c1ffielding オフロードのバグを踏んでしまいます。</li>
2d2eda71267231c2526be701fe655db125852c1ffielding <li>Itanium 上の Linux では、sendfile では 2GB 以上の
952908500d5f99f35afc5ed510391b9bdc3833farbb ファイルを扱うことができません。</li>
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm <li>ネットワークマウントされた <directive module="core">DocumentRoot</directive>
952908500d5f99f35afc5ed510391b9bdc3833farbb (例えば NFS や SMB)
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm では、カーネルは自身のキャッシュを使ってネットワークからのファイルを
952908500d5f99f35afc5ed510391b9bdc3833farbb 送ることができないことがあります。</li>
952908500d5f99f35afc5ed510391b9bdc3833farbb </ul>
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>これらの問題に当てはまるサーバの設定の場合は、以下のようにして
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm この機能を使用不可にしてください:</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm
2d2eda71267231c2526be701fe655db125852c1ffielding <example>
44a4ee1140769173da7bc2b42d1a686e3260ad84wrowe EnableSendfile Off
44a4ee1140769173da7bc2b42d1a686e3260ad84wrowe </example>
44a4ee1140769173da7bc2b42d1a686e3260ad84wrowe
2d2eda71267231c2526be701fe655db125852c1ffielding <p>NFS や SMB マウントされたファイルには、問題のあるファイルにのみ明示的に
952908500d5f99f35afc5ed510391b9bdc3833farbb この機能を使用不可にします:</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
952908500d5f99f35afc5ed510391b9bdc3833farbb <example>
e57fd661645dcfdf166e77484b509b248e62a19eaaron &lt;Directory "/path-to-nfs-files"&gt;
2d2eda71267231c2526be701fe655db125852c1ffielding <indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb EnableSendfile Off
2d2eda71267231c2526be701fe655db125852c1ffielding </indent>
e57fd661645dcfdf166e77484b509b248e62a19eaaron &lt;/Directory&gt;
952908500d5f99f35afc5ed510391b9bdc3833farbb </example>
2d2eda71267231c2526be701fe655db125852c1ffielding</usage>
952908500d5f99f35afc5ed510391b9bdc3833farbb</directivesynopsis>
952908500d5f99f35afc5ed510391b9bdc3833farbb
2e123e8beedc9f921448c113e2d6823a92fd5261fielding<directivesynopsis>
952908500d5f99f35afc5ed510391b9bdc3833farbb<name>ErrorDocument</name>
952908500d5f99f35afc5ed510391b9bdc3833farbb<description>エラーが発生したときにサーバがクライアントに送るもの</description>
952908500d5f99f35afc5ed510391b9bdc3833farbb<syntax>ErrorDocument <var>error-code document</var></syntax>
952908500d5f99f35afc5ed510391b9bdc3833farbb<contextlist><context>server config</context><context>virtual host</context>
2d2eda71267231c2526be701fe655db125852c1ffielding<context>directory</context><context>.htaccess</context>
e57fd661645dcfdf166e77484b509b248e62a19eaaron</contextlist>
2d2eda71267231c2526be701fe655db125852c1ffielding<override>FileInfo</override>
952908500d5f99f35afc5ed510391b9bdc3833farbb
2d2eda71267231c2526be701fe655db125852c1ffielding<usage>
2d2eda71267231c2526be701fe655db125852c1ffielding <p>問題やエラーが発生したときの動作として、
2d2eda71267231c2526be701fe655db125852c1ffielding Apache には以下の四つのうち一つの動作を設定することができます。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <ol>
2d2eda71267231c2526be701fe655db125852c1ffielding <li>Apache 標準の簡単なエラーメッセージを表示</li>
e57fd661645dcfdf166e77484b509b248e62a19eaaron
952908500d5f99f35afc5ed510391b9bdc3833farbb <li>自分で指定したメッセージを表示</li>
e57fd661645dcfdf166e77484b509b248e62a19eaaron
952908500d5f99f35afc5ed510391b9bdc3833farbb <li>問題やエラーの処理をする為に、自サーバ内の
e57fd661645dcfdf166e77484b509b248e62a19eaaron <var>URL-path</var> へリダイレクト</li>
2d2eda71267231c2526be701fe655db125852c1ffielding
e57fd661645dcfdf166e77484b509b248e62a19eaaron <li>問題やエラーの処理をする為に、外部の <var>URL</var> へリダイレクト</li>
fa3785601cc3801525bc3fc98cafcea5d82efe99wrowe </ol>
a18775c154178d6c07aed84bd54ac16f59f89bc9wrowe
e57fd661645dcfdf166e77484b509b248e62a19eaaron <p>最初のものがデフォルトの動作で、2 番目から 4 番目は、
2d2eda71267231c2526be701fe655db125852c1ffielding <directive>ErrorDocument</directive>ディレクティブにより、
e57fd661645dcfdf166e77484b509b248e62a19eaaron HTTP のレスポンスコードと、メッセージか URL を指定することで設定します。
952908500d5f99f35afc5ed510391b9bdc3833farbb Apache が問題もしくはエラーに関する追加情報を提供することがあります。</p>
eb0fa8f996539c1cd5e5edf34f46e7e9c199641estas
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>URL の場合は、スラッシュで始まる (/) ローカルの web-path (
e57fd661645dcfdf166e77484b509b248e62a19eaaron <directive module="core">DocumentRoot</directive> からの相対パス
8b99f2a316c5e2fa6ab208206fdd7fc2bfc4a921dougm ) か、クライアントが解決できる完全な URL を指定します。
2d2eda71267231c2526be701fe655db125852c1ffielding もしくは、ブラウザに表示されるメッセージを指定できます。
e57fd661645dcfdf166e77484b509b248e62a19eaaron 例:</p>
e57fd661645dcfdf166e77484b509b248e62a19eaaron
e57fd661645dcfdf166e77484b509b248e62a19eaaron <example>
e57fd661645dcfdf166e77484b509b248e62a19eaaron ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
e57fd661645dcfdf166e77484b509b248e62a19eaaron ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
e57fd661645dcfdf166e77484b509b248e62a19eaaron ErrorDocument 401 /subscription_info.html<br />
e57fd661645dcfdf166e77484b509b248e62a19eaaron ErrorDocument 403 "Sorry can't allow you access today"
cd9eb79cfbf9bc730ccacc3a3774b1fe1b99ed53wrowe </example>
97ff7bf3f33a3527953d975df5cbf82a5a7dc9a6wrowe
97ff7bf3f33a3527953d975df5cbf82a5a7dc9a6wrowe <p>加えて、特別な値 <code>default</code> を使って Apache に
2d2eda71267231c2526be701fe655db125852c1ffielding ハードコードされている簡単なメッセージを指定することができます。
2d2eda71267231c2526be701fe655db125852c1ffielding 通常は必要ではありませんが、<code>default</code> を使うと
2d2eda71267231c2526be701fe655db125852c1ffielding 既存の <directive>ErrorDocument</directive> ディレクティブの設定を
2d2eda71267231c2526be701fe655db125852c1ffielding 継承するところで、Apache のハードコードされた簡単なメッセージに
2d2eda71267231c2526be701fe655db125852c1ffielding 戻すことができます。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
a6b9ed64fdf548c61de9714e2cfb999ec59d149cgstein <example>
952908500d5f99f35afc5ed510391b9bdc3833farbb ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
a6b9ed64fdf548c61de9714e2cfb999ec59d149cgstein &lt;Directory /web/docs&gt;<br />
2d2eda71267231c2526be701fe655db125852c1ffielding <indent>
e57fd661645dcfdf166e77484b509b248e62a19eaaron ErrorDocument 404 default<br />
e57fd661645dcfdf166e77484b509b248e62a19eaaron </indent>
e57fd661645dcfdf166e77484b509b248e62a19eaaron &lt;/Directory&gt;
e57fd661645dcfdf166e77484b509b248e62a19eaaron </example>
e57fd661645dcfdf166e77484b509b248e62a19eaaron
e57fd661645dcfdf166e77484b509b248e62a19eaaron <p>リモート URL (例えば、頭に <code>http</code> と付与した方法) を
2d2eda71267231c2526be701fe655db125852c1ffielding <directive>ErrorDocument</directive> に指定するとき、
2d2eda71267231c2526be701fe655db125852c1ffielding たとえ文書が同じサーバにあろうとも、ドキュメントがどこにあるかを通知するために、
9f9307bbe539dbcf96919715315eb64ce3465f5bben Apache はリダイレクトをクライアントに送出するということに、注意してください。
a93bda3b944fb92e3850db5621b5a27fc0e44509wrowe これにはいろいろと関連して起こる問題があります。
9f9307bbe539dbcf96919715315eb64ce3465f5bben 中でも最も重要なのは、クライアントは元々のエラーステータスコードを受け取らず、
a93bda3b944fb92e3850db5621b5a27fc0e44509wrowe 代わりにリダイレクトのステータスコードを受け取るということです。
e57e920838f31508f1418aa4c25ce55b345b2cebrbb これにより、ステータスコードを使って URL が有効であるかどうかを決定しようとする
e57e920838f31508f1418aa4c25ce55b345b2cebrbb ウェブロボットやその他クライアントを、混乱させるかもしれません。
e57e920838f31508f1418aa4c25ce55b345b2cebrbb さらに、<code>ErrorDocument 401</code> にリモートの URL を指定すると、
a93bda3b944fb92e3850db5621b5a27fc0e44509wrowe クライアントは 401 というステータスコードを受け取らないため、
e57e920838f31508f1418aa4c25ce55b345b2cebrbb パスワードをユーザーに入力要求しなければならないことがわかりません。
e57e920838f31508f1418aa4c25ce55b345b2cebrbb 従って、<strong><code>ErrorDocument 401</code> というディレクティブを使う場合は、
a93bda3b944fb92e3850db5621b5a27fc0e44509wrowe 必ずローカルな文書を参照しなければなりません。</strong></p>
e57e920838f31508f1418aa4c25ce55b345b2cebrbb
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf <p>Microsoft Internet Explorer (MSIE) はデフォルトではサーバが生成したエラーメッセージが
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf 「小さすぎる」ときには無視をして自分自身の「やさしい」エラーメッセージで
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf 置換します。サイズのしきい値はエラーの種類によって異なりますが、
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf 一般的にはエラーの文書を 512 バイトよりも大きくすると、MSIE は
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf サーバが生成したエラーを隠さずに表示します。詳しい情報は Microsoft
9f9307bbe539dbcf96919715315eb64ce3465f5bben Knowledge Base の記事 <a
da76b1004afd7a8785684c84e4d4b5c893c65572rbb href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>
777a2b42697cb8cb94ac4e73774862f879259c45rbb にあります。</p>
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin <p>ほとんどのエラーメッセージを上書きすることができますが、特定の状況下では
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin <directive module="core">ErrorDocument</directive> の設定にかかわらず
b0d8a6d437db6f4c222173f27ef81c98622fbd02pquerna 内蔵のメッセージが使われます。
b0d8a6d437db6f4c222173f27ef81c98622fbd02pquerna 特に、不正な形式のリクエストが検出された場合、通常のリクエスト処理は
cb1e20df951447249fd1344ae04a790219a16be5pquerna 即座に中止され、内蔵のエラーメッセージが返されます。
cdccf2ac94172d1a4a54bc2e17324e1ef682ccf3pquerna この処置は不正なリクエストによって引き起こされる、セキュリティ問題から
2d2eda71267231c2526be701fe655db125852c1ffielding 守るために必要な措置です。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <p>2.0 より前のバージョンでは、対になっていない二重引用符を
2d2eda71267231c2526be701fe655db125852c1ffielding 先頭に付けることによりメッセージであることを指定していました。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding</usage>
2d2eda71267231c2526be701fe655db125852c1ffielding
9f9307bbe539dbcf96919715315eb64ce3465f5bben<seealso><a href="/custom-error.html">カスタマイズ可能な
9f9307bbe539dbcf96919715315eb64ce3465f5bbenエラー応答のドキュメンテーション</a></seealso>
9f9307bbe539dbcf96919715315eb64ce3465f5bben</directivesynopsis>
9f9307bbe539dbcf96919715315eb64ce3465f5bben
853a0c44563b056e40e9cffe911190f554e63ec3chuck<directivesynopsis>
853a0c44563b056e40e9cffe911190f554e63ec3chuck<name>ErrorLog</name>
853a0c44563b056e40e9cffe911190f554e63ec3chuck<description>サーバがエラーをログ収集する場所</description>
9f9307bbe539dbcf96919715315eb64ce3465f5bben<syntax> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</syntax>
853a0c44563b056e40e9cffe911190f554e63ec3chuck<default>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</default>
853a0c44563b056e40e9cffe911190f554e63ec3chuck<contextlist><context>server config</context><context>virtual host</context>
9f9307bbe539dbcf96919715315eb64ce3465f5bben</contextlist>
9f9307bbe539dbcf96919715315eb64ce3465f5bben
9f9307bbe539dbcf96919715315eb64ce3465f5bben<usage>
79c0ed7d839527abd86794a6b1d2df4fd189a2a8jerenkrantz <p><directive>ErrorLog</directive> ディレクティブは、
9f9307bbe539dbcf96919715315eb64ce3465f5bben サーバに生じたさまざまなエラーを
9f9307bbe539dbcf96919715315eb64ce3465f5bben 記録する為のファイルの名前を設定します。
853a0c44563b056e40e9cffe911190f554e63ec3chuck <var>file-path</var> が絶対パスでないときは、<directive
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh module="core">ServerRoot</directive> からの相対パスとみなされます。</p>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <example><title>例</title>
f9a773d26994c3b267589e404cdb5b760f83e888jerenkrantz ErrorLog /var/log/httpd/error_log
f9a773d26994c3b267589e404cdb5b760f83e888jerenkrantz </example>
f9a773d26994c3b267589e404cdb5b760f83e888jerenkrantz
f9a773d26994c3b267589e404cdb5b760f83e888jerenkrantz <p><var>file-path</var> がパイプ (|) から始まる場合は、
f9a773d26994c3b267589e404cdb5b760f83e888jerenkrantz エラーログを処理するために実行されるコマンドが
2d2eda71267231c2526be701fe655db125852c1ffielding 指定されていると解釈されます。</p>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <example><title>例</title>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh ErrorLog "|/usr/local/bin/httpd_errors"
2d2eda71267231c2526be701fe655db125852c1ffielding </example>
952908500d5f99f35afc5ed510391b9bdc3833farbb
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm <p>ファイル名の変わりに <code>syslog</code> と指定することによって、
be8a31a0afdb2363dbcc98bbbaa94b6184061b5fdreid システムがサポートしていれば syslogd(8) を利用したロギングが有効になります。
952908500d5f99f35afc5ed510391b9bdc3833farbb デフォルトでは、<code>local7</code> ファシリティとなりますが、
952908500d5f99f35afc5ed510391b9bdc3833farbb <code>syslog:<var>facility</var></code> といった形で記述することにより、
952908500d5f99f35afc5ed510391b9bdc3833farbb 通常 syslog(1) のドキュメントで説明されているファシリティの一つを使うように
2d2eda71267231c2526be701fe655db125852c1ffielding することができます。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
952908500d5f99f35afc5ed510391b9bdc3833farbb <example><title>例</title>
91644a5f4d3e992dc208304b50e80bbb236fca89trawick ErrorLog syslog:user
952908500d5f99f35afc5ed510391b9bdc3833farbb </example>
91644a5f4d3e992dc208304b50e80bbb236fca89trawick
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb <p>セキュリティ:
952908500d5f99f35afc5ed510391b9bdc3833farbb ログファイルを格納するディレクトリが、サーバを起動したユーザ以外の
952908500d5f99f35afc5ed510391b9bdc3833farbb ユーザによって書き込める場合にセキュリティが破られる可能性があることに
952908500d5f99f35afc5ed510391b9bdc3833farbb 関する詳細は <a
952908500d5f99f35afc5ed510391b9bdc3833farbb href="/misc/security_tips.html#serverroot">セキュリティに関するコツ</a> を
952908500d5f99f35afc5ed510391b9bdc3833farbb 参照してください。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb <note type="warning"><title>注</title>
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>Unix 以外のプラットフォームでファイルのパスを入力するときは、
952908500d5f99f35afc5ed510391b9bdc3833farbb プラットフォームがバックスラッシュの使用を許していたとしても、
952908500d5f99f35afc5ed510391b9bdc3833farbb 確実にスラッシュのみが使用されるように注意してください。一般的には、
952908500d5f99f35afc5ed510391b9bdc3833farbb 設定ファイル全般でスラッシュのみを使う方が良いでしょう。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb </note>
952908500d5f99f35afc5ed510391b9bdc3833farbb</usage>
8019a211b7453e80e6e22db6d41fe68dd7f8c4b8fielding<seealso><directive module="core">LogLevel</directive></seealso>
8019a211b7453e80e6e22db6d41fe68dd7f8c4b8fielding<seealso><a href="/logs.html">Apache ログファイル</a></seealso>
f9a773d26994c3b267589e404cdb5b760f83e888jerenkrantz</directivesynopsis>
f9a773d26994c3b267589e404cdb5b760f83e888jerenkrantz
8019a211b7453e80e6e22db6d41fe68dd7f8c4b8fielding<directivesynopsis>
952908500d5f99f35afc5ed510391b9bdc3833farbb<name>FileETag</name>
952908500d5f99f35afc5ed510391b9bdc3833farbb<description>ETag HTTP 応答ヘッダを作成するために使用される
952908500d5f99f35afc5ed510391b9bdc3833farbbファイルの属性</description>
952908500d5f99f35afc5ed510391b9bdc3833farbb<syntax>FileETag <var>component</var> ...</syntax>
ae2f0a4a94a833fd44cb6b5c1f520cbc76ff72fefielding<default>FileETag INode MTime Size</default>
ae2f0a4a94a833fd44cb6b5c1f520cbc76ff72fefielding<contextlist><context>server config</context><context>virtual host</context>
952908500d5f99f35afc5ed510391b9bdc3833farbb<context>directory</context><context>.htaccess</context>
952908500d5f99f35afc5ed510391b9bdc3833farbb</contextlist>
952908500d5f99f35afc5ed510391b9bdc3833farbb<override>FileInfo</override>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb<usage>
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>
952908500d5f99f35afc5ed510391b9bdc3833farbb <directive>FileETag</directive> ディレクティブは
952908500d5f99f35afc5ed510391b9bdc3833farbb ドキュメントがファイルに基づいたものであるときに、
eb0fa8f996539c1cd5e5edf34f46e7e9c199641estas <code>ETag</code> (エンティティタグ) 応答ヘッダフィールドを作成するときに使用する
eb0fa8f996539c1cd5e5edf34f46e7e9c199641estas ファイルの属性を設定します。 (<code>ETag</code> の値はネットワークの帯域を節約するための
a6b9ed64fdf548c61de9714e2cfb999ec59d149cgstein キャッシュの管理で使われます。) Apache 1.3.22 以前では、<code>ETag</code> の値は
eb0fa8f996539c1cd5e5edf34f46e7e9c199641estas <em>常に</em>ファイルの inode, サイズ、最終修正時刻 (mtime) から作成
eb0fa8f996539c1cd5e5edf34f46e7e9c199641estas されていました。<directive>FileETag</directive> ディレクティブにより、これらのどれを使うかを
952908500d5f99f35afc5ed510391b9bdc3833farbb 選ぶことができます。認識されるキーワードは:
9f9307bbe539dbcf96919715315eb64ce3465f5bben </p>
a93bda3b944fb92e3850db5621b5a27fc0e44509wrowe
9f9307bbe539dbcf96919715315eb64ce3465f5bben <dl>
a93bda3b944fb92e3850db5621b5a27fc0e44509wrowe <dt><strong>INode</strong></dt>
ca47a2b6bcea23e8af185c68f256dcbbfd2a0f9dtrawick <dd>ファイルの inode 番号を計算に使います</dd>
ca47a2b6bcea23e8af185c68f256dcbbfd2a0f9dtrawick <dt><strong>MTime</strong></dt>
2fc50921b88defeb7127985dfe4b4130175e069ejwoolley <dd>ファイルの最終修正時刻を使います</dd>
2fc50921b88defeb7127985dfe4b4130175e069ejwoolley <dt><strong>Size</strong></dt>
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna <dd>ファイルの中身のバイト数を使います</dd>
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna <dt><strong>All</strong></dt>
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna <dd>使用可能なすべてのフィールドを使います。
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna これは <example>FileETag INode MTime Size</example> と等価です。</dd>
2f1bb5376c5c4022383bb729679ca751dd75a2eabrianp <dt><strong>None</strong></dt>
2f1bb5376c5c4022383bb729679ca751dd75a2eabrianp <dd>ドキュメントがファイルに基づいたものでも、<code>ETag</code> フィールドを
ddc593aa9ac8b227d1fd9677a3a2b24539b5d608pquerna 応答に付加しません</dd>
135402675e89e6df0e17735e48f428a1e1d8eb16pquerna </dl>
135402675e89e6df0e17735e48f428a1e1d8eb16pquerna
135402675e89e6df0e17735e48f428a1e1d8eb16pquerna <p><code>INode</code>, <code>MTime</code>, <code>Size</code> キーワードには
135402675e89e6df0e17735e48f428a1e1d8eb16pquerna <code>+</code> や <code>-</code> を前に付けて
cdccf2ac94172d1a4a54bc2e17324e1ef682ccf3pquerna 指定することもできます。この場合は、より広い範囲から継承された
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf デフォルトの設定に変更を加えるようになります。そのような接頭辞の
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf 無いキーワードを指定すると、即座に継承した設定を無効にします。</p>
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf <p>あるディレクトリの設定に
cdccf2ac94172d1a4a54bc2e17324e1ef682ccf3pquerna <code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code> があり、
cdccf2ac94172d1a4a54bc2e17324e1ef682ccf3pquerna サブディレクトリの設定に <code>FileETag&nbsp;-INode</code> があるときは、
cdccf2ac94172d1a4a54bc2e17324e1ef682ccf3pquerna そのサブディレクトリの設定は (設定が上書きされなければサブディレクトリの
cdccf2ac94172d1a4a54bc2e17324e1ef682ccf3pquerna サブディレクトリにも継承されます) <code>FileETag&nbsp;MTime&nbsp;Size</code>
cdccf2ac94172d1a4a54bc2e17324e1ef682ccf3pquerna と同じになります。</p>
cdccf2ac94172d1a4a54bc2e17324e1ef682ccf3pquerna <note type="warning"><title>警告</title>
cdccf2ac94172d1a4a54bc2e17324e1ef682ccf3pquerna WebDAV を使っていて、<module>mod_dav_fs</module> をストレージプロバイダとして
cdccf2ac94172d1a4a54bc2e17324e1ef682ccf3pquerna 使っているような Directory や Location では、デフォルト値を変更しないでください。
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna <module>mod_dav_fs</module> では、条件付リクエストでの比較演算に
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna <code>INode&nbsp;MTime&nbsp;Size</code>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh の固定フォーマットを使っています。
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <directive>FileETag</directive> で <code>ETag</code> フォーマットを
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh 変更してしまうと、条件付リクエストでうまく動作しなくなります。
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna </note>
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna</usage>
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna</directivesynopsis>
ad862ab5716726a2d72a292ba1dfb29566c86153brianp
ad862ab5716726a2d72a292ba1dfb29566c86153brianp<directivesynopsis type="section">
b0d8a6d437db6f4c222173f27ef81c98622fbd02pquerna<name>Files</name>
6d866a6eb84421d08d630030c2a7a2f53f248ad9jorton<description>マッチするファイル名に適用されるディレクティブを囲む</description>
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna<syntax>&lt;Files <var>filename</var>&gt; ... &lt;/Files&gt;</syntax>
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna<contextlist><context>server config</context><context>virtual host</context>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<context>directory</context><context>.htaccess</context>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh</contextlist>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<override>All</override>
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<usage>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <p><directive type="section">Files</directive> ディレクティブは、
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh その中にあるディレクティブの適用範囲をファイル名で制限します。
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <directive module="core"
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh type="section">Directory</directive> ディレクティブや <directive
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna module="core" type="section">Location</directive> ディレクティブと
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh 同じような機能を持ちます。
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna これは、<code>&lt;/Files&gt;</code> ディレクティブと対に
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh なっていなければなりません。
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna このセクション中のディレクティブは、ベース名 (ファイル名の最後の部分)
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh が指定されたファイル名にマッチするすべてのオブジェクトに適用されます。
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna <directive type="section">Files</directive> セクションは
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <directive type="section">Directory</directive> セクションと
d9039a9aaeaa1359c1147af66c09aeac56ae3ee0pquerna <code>.htaccess</code> が読み込まれた後、
2d2eda71267231c2526be701fe655db125852c1ffielding <directive type="section">Location</directive> セクションよりは先に
2d2eda71267231c2526be701fe655db125852c1ffielding 設定ファイルに現れた順に適用されます。
2d2eda71267231c2526be701fe655db125852c1ffielding <directive type="section">Files</directive> は、
2d2eda71267231c2526be701fe655db125852c1ffielding <directive type="section">Directory</directive> セクション内に
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh ネストさせることができ、
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh ファイルシステムの一部にのみ限定して適用させることができます。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <p><var>filename</var> 引数は、ファイル名かワイルドカード文字列
2d2eda71267231c2526be701fe655db125852c1ffielding で、ワイルドカードでは <code>?</code> は一つの文字、<code>*</code> は任意の文字列にマッチします。
2d2eda71267231c2526be701fe655db125852c1ffielding <code>~</code> という文字を付加することで<glossary ref="regex">正規表現</glossary>を使うこともできます。
952908500d5f99f35afc5ed510391b9bdc3833farbb 例えば、</p>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <example>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh &lt;Files ~ "\.(gif|jpe?g|png)$"&gt;
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh </example>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh
2d2eda71267231c2526be701fe655db125852c1ffielding <p>とすることにより、一般的なインターネットの画像フォーマットにマッチします。
169f62b04de69074b561b4e6dcf6f82572a5e367trawick ただし、
2d2eda71267231c2526be701fe655db125852c1ffielding <directive module="core" type="section">FilesMatch</directive> を使う方が
952908500d5f99f35afc5ed510391b9bdc3833farbb 推奨されています。</p>
8a261a9f7d18d1e862d63f68e93f288d3e1f0d94trawick
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>ちなみに、<directive module="core" type="section"
dad234382d8424e1c5a30af2838e172aec9d6d1bdreid >Directory</directive> と <directive module="core" type="section"
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh >Location</directive> セクションとは異なり、
952908500d5f99f35afc5ed510391b9bdc3833farbb <directive type="section">Files</directive>
2d2eda71267231c2526be701fe655db125852c1ffielding は <code>.htaccess</code> ファイル内で利用することができます。
2d2eda71267231c2526be701fe655db125852c1ffielding これにより、ユーザがファイル毎にアクセスの制御を行なうことができるように
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf なっています。</p>
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf</usage>
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf<seealso>リクエストを受けた際にこれらの異なるセクションが
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf 組み合わされる方法については <a href="/sections.html">
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf &lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf</directivesynopsis>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<directivesynopsis type="section">
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<name>FilesMatch</name>
2d2eda71267231c2526be701fe655db125852c1ffielding<description>正規表現にマッチするファイル名に適用される
952908500d5f99f35afc5ed510391b9bdc3833farbbディレクティブを囲む</description>
3887202241db08986e94b252fbd06a55e55d4b2dbhyde<syntax>&lt;FilesMatch <var>regex</var>&gt; ... &lt;/FilesMatch&gt;</syntax>
952908500d5f99f35afc5ed510391b9bdc3833farbb<contextlist><context>server config</context><context>virtual host</context>
2d2eda71267231c2526be701fe655db125852c1ffielding<context>directory</context><context>.htaccess</context>
2d2eda71267231c2526be701fe655db125852c1ffielding</contextlist>
952908500d5f99f35afc5ed510391b9bdc3833farbb<override>All</override>
2d2eda71267231c2526be701fe655db125852c1ffielding
952908500d5f99f35afc5ed510391b9bdc3833farbb<usage>
2d2eda71267231c2526be701fe655db125852c1ffielding <p><directive type="section">FilesMatch</directive> ディレクティブは、
2d2eda71267231c2526be701fe655db125852c1ffielding <directive module="core" type="section">Files</directive>
2d2eda71267231c2526be701fe655db125852c1ffielding ディレクティブ同様にその中にあるディレクティブの適用範囲をファイル名で制限します。ただし、
2d2eda71267231c2526be701fe655db125852c1ffielding このディレクティブには<glossary ref="regex">正規表現</glossary>を指定します。
952908500d5f99f35afc5ed510391b9bdc3833farbb 例えば:</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
952908500d5f99f35afc5ed510391b9bdc3833farbb <example>
2d2eda71267231c2526be701fe655db125852c1ffielding &lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;
952908500d5f99f35afc5ed510391b9bdc3833farbb </example>
dad234382d8424e1c5a30af2838e172aec9d6d1bdreid
2d2eda71267231c2526be701fe655db125852c1ffielding <p>は一般的なインターネットの画像形式にマッチします。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding</usage>
2d2eda71267231c2526be701fe655db125852c1ffielding
952908500d5f99f35afc5ed510391b9bdc3833farbb<seealso>リクエストを受けた際にこれらの異なるセクションが
2d2eda71267231c2526be701fe655db125852c1ffielding 組み合わされる方法については <a href="/sections.html">
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm</directivesynopsis>
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf<directivesynopsis>
2d2eda71267231c2526be701fe655db125852c1ffielding<name>ForceType</name>
2d2eda71267231c2526be701fe655db125852c1ffielding<description>すべてのマッチするファイルが指定の MIME コンテントタイプで
2d2eda71267231c2526be701fe655db125852c1ffielding送られるようにする</description>
952908500d5f99f35afc5ed510391b9bdc3833farbb<syntax>ForceType <var>MIME-type</var>|None</syntax>
952908500d5f99f35afc5ed510391b9bdc3833farbb<contextlist><context>directory</context><context>.htaccess</context>
952908500d5f99f35afc5ed510391b9bdc3833farbb</contextlist>
952908500d5f99f35afc5ed510391b9bdc3833farbb<override>FileInfo</override>
a6b9ed64fdf548c61de9714e2cfb999ec59d149cgstein<compatibility>Apache 2.0 で core に移動</compatibility>
169f62b04de69074b561b4e6dcf6f82572a5e367trawick
a6b9ed64fdf548c61de9714e2cfb999ec59d149cgstein<usage>
952908500d5f99f35afc5ed510391b9bdc3833farbb <p><code>.htaccess</code> や <directive type="section" module="core"
2d2eda71267231c2526be701fe655db125852c1ffielding >Directory</directive> セクション、
2d2eda71267231c2526be701fe655db125852c1ffielding <directive type="section" module="core">Location</directive> セクション、
952908500d5f99f35afc5ed510391b9bdc3833farbb <directive type="section" module="core">Files</directive> セクションに
2d2eda71267231c2526be701fe655db125852c1ffielding 書かれた場合、このディレクティブはそこにあるすべてのファイルが
fa861fc5a880d2c3a5ecc0ec71fa7da556adf5c1wrowe <var>MIME-type</var>
fa861fc5a880d2c3a5ecc0ec71fa7da556adf5c1wrowe で指定されたコンテントタイプとして扱われるようにします。たとえば、
fa861fc5a880d2c3a5ecc0ec71fa7da556adf5c1wrowe GIF ファイルばかりのディレクトリがあって、すべてのファイルを <code>.gif</code>
fa861fc5a880d2c3a5ecc0ec71fa7da556adf5c1wrowe で終わらせたくはないときに、以下のものを使用します:</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <example>
952908500d5f99f35afc5ed510391b9bdc3833farbb ForceType image/gif
952908500d5f99f35afc5ed510391b9bdc3833farbb </example>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <p><directive module="core">DefaultType</directive> と違って
952908500d5f99f35afc5ed510391b9bdc3833farbb このディレクティブはメディアタイプを決めることができるかもしれない
952908500d5f99f35afc5ed510391b9bdc3833farbb ファイルの拡張子も含め、すべての MIME タイプの関連付けを
aecb17a45c6d3ee4729ed5f68dc4270f211ee7a8fielding 上書きすることに注意してください。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <p><code>None</code> という値を使うことで <directive>ForceType</directive> の
952908500d5f99f35afc5ed510391b9bdc3833farbb 設定を無効にできます:</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <example>
952908500d5f99f35afc5ed510391b9bdc3833farbb # force all files to be image/gif:<br />
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;Location /images&gt;<br />
952908500d5f99f35afc5ed510391b9bdc3833farbb <indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb ForceType image/gif<br />
952908500d5f99f35afc5ed510391b9bdc3833farbb </indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;/Location&gt;<br />
952908500d5f99f35afc5ed510391b9bdc3833farbb <br />
60262a02cfeba50d60d990b56d0e0c1d1fafb672sctemme # but normal mime-type associations here:<br />
60262a02cfeba50d60d990b56d0e0c1d1fafb672sctemme &lt;Location /images/mixed&gt;<br />
60262a02cfeba50d60d990b56d0e0c1d1fafb672sctemme <indent>
40965c37b2fd320093215de6c3fbd516382077eajim ForceType None<br />
40965c37b2fd320093215de6c3fbd516382077eajim </indent>
40965c37b2fd320093215de6c3fbd516382077eajim &lt;/Location&gt;
2d2eda71267231c2526be701fe655db125852c1ffielding </example>
2d2eda71267231c2526be701fe655db125852c1ffielding</usage>
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb</directivesynopsis>
2f1bb5376c5c4022383bb729679ca751dd75a2eabrianp
2f1bb5376c5c4022383bb729679ca751dd75a2eabrianp<directivesynopsis>
2f1bb5376c5c4022383bb729679ca751dd75a2eabrianp<name>HostnameLookups</name>
1af2b28846e2647963db788b081676884fb7df8crpluem<description>クライアントの IP アドレスの DNS ルックアップを
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb有効にする</description>
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb<syntax>HostnameLookups On|Off|Double</syntax>
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb<default>HostnameLookups Off</default>
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb<contextlist><context>server config</context><context>virtual host</context>
470147d3f2750bfd47b5d8f1d90abab283eaad0dpquerna<context>directory</context></contextlist>
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb
4fbb89a070c82e489830233bde6bc78ddf179978stoddard<usage>
4fbb89a070c82e489830233bde6bc78ddf179978stoddard <p>このディレクティブは、ホスト名をログ収集できるように
4fbb89a070c82e489830233bde6bc78ddf179978stoddard DNS ルックアップを有効にします
4fbb89a070c82e489830233bde6bc78ddf179978stoddard (さらに、CGI/SSI に <code>REMOTE_HOST</code> 変数として渡します)。
4fbb89a070c82e489830233bde6bc78ddf179978stoddard <code>Double</code>を指定した場合、2 重の逆引きを行ないます。
4fbb89a070c82e489830233bde6bc78ddf179978stoddard つまり、逆引きの後に、その結果に対して正引きを行ないます。正引きの
4fbb89a070c82e489830233bde6bc78ddf179978stoddard 結果の IP アドレスの中にオリジナルのアドレスと一致するものがなければ
4fbb89a070c82e489830233bde6bc78ddf179978stoddard なりません。("tcpwrappers" の用語では <code>PARANOID</code> と呼ばれています。)</p>
4fbb89a070c82e489830233bde6bc78ddf179978stoddard
4fbb89a070c82e489830233bde6bc78ddf179978stoddard <p><module>mod_authz_host</module> でホスト名によるアクセス
4fbb89a070c82e489830233bde6bc78ddf179978stoddard 制御を行なう場合には、
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb 設定の如何によらず 2 重の逆引きが実行されます。
952908500d5f99f35afc5ed510391b9bdc3833farbb これは、セキュリティを保つために必要です。
952908500d5f99f35afc5ed510391b9bdc3833farbb <code>HostnameLookups Double</code> を設定しない限り、
952908500d5f99f35afc5ed510391b9bdc3833farbb 他の部分はこの 2 重逆引きの結果を使うことはできません。
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 例えば、<code>HostnameLookups On</code> と設定してある状態で、
952908500d5f99f35afc5ed510391b9bdc3833farbb ホスト名によるアクセス制限を行なったオブジェクトへの
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben リクエストを受けたとすると、2 重の逆引きが成功するか否かによらず、
952908500d5f99f35afc5ed510391b9bdc3833farbb <code>REMOTE_HOST</code> には通常の逆引き結果が渡されます。</p>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>ディレクティブのデフォルトは
952908500d5f99f35afc5ed510391b9bdc3833farbb 本当に逆引きを必要としているわけではないサイトの
952908500d5f99f35afc5ed510391b9bdc3833farbb ネットワークトラフィックを低減させるために、<code>Off</code> になっています。
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben ルックアップによる余計な遅延がなくなるため、
952908500d5f99f35afc5ed510391b9bdc3833farbb エンドユーザにとっても良いでしょう。
952908500d5f99f35afc5ed510391b9bdc3833farbb DNS のルックアップには、かなりの時間が必要となる場合が多く、
952908500d5f99f35afc5ed510391b9bdc3833farbb 負荷の高いサイトではこのディレクティブは <code>Off</code> にすべきです。
952908500d5f99f35afc5ed510391b9bdc3833farbb なお、<var>/support</var> ディレクトリに含まれ、デフォルトでは
952908500d5f99f35afc5ed510391b9bdc3833farbb インストールディレクトリの <code>bin</code> サブディレクトリに
3d96ee83babeec32482c9082c9426340cee8c44dwrowe インストールされる <program>logresolve</program> ユーティリティにより、
2d2eda71267231c2526be701fe655db125852c1ffielding Apache の動作とは別に、ログに残されている IP アドレスからホスト名を
2d2eda71267231c2526be701fe655db125852c1ffielding ルックアップすることが可能です。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding</usage>
2d2eda71267231c2526be701fe655db125852c1ffielding</directivesynopsis>
2d2eda71267231c2526be701fe655db125852c1ffielding
952908500d5f99f35afc5ed510391b9bdc3833farbb<directivesynopsis type="section">
952908500d5f99f35afc5ed510391b9bdc3833farbb<name>If</name>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben<description>実行時、リクエストが条件を満たした場合にのみ適用される
952908500d5f99f35afc5ed510391b9bdc3833farbbディレクティブを包含する</description>
952908500d5f99f35afc5ed510391b9bdc3833farbb<syntax>&lt;If <var>expression</var>&gt; ... &lt;/If&gt;</syntax>
952908500d5f99f35afc5ed510391b9bdc3833farbb<contextlist><context>server config</context><context>virtual host</context>
952908500d5f99f35afc5ed510391b9bdc3833farbb<context>directory</context><context>.htaccess</context>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe</contextlist>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<override>All</override>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb<usage>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <p><directive type="section">If</directive> ディレクティブは
952908500d5f99f35afc5ed510391b9bdc3833farbb 実行時に式を評価し、条件式が真になるときにのみ
952908500d5f99f35afc5ed510391b9bdc3833farbb 内包するディレクティブを適用します。
952908500d5f99f35afc5ed510391b9bdc3833farbb 例えば</p>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
952908500d5f99f35afc5ed510391b9bdc3833farbb <example>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe &lt;If "$req{Host} = ''"&gt;
952908500d5f99f35afc5ed510391b9bdc3833farbb </example>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>上記例は <var>Host:</var> ヘッダの存在しない HTTP/1.0 のリクエストに
952908500d5f99f35afc5ed510391b9bdc3833farbb マッチします。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb</usage>
952908500d5f99f35afc5ed510391b9bdc3833farbb
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben<seealso><a href="/sections.html">どのように &lt;Directory&gt;, &lt;Location&gt;,
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;Files&gt; セクションが動作するか</a> では、リクエストを受けたときに、
3d96ee83babeec32482c9082c9426340cee8c44dwrowe これらの異なるセクションがどのように組み合わさるかについて記載されています。
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <directive type="section">If</directive> は
952908500d5f99f35afc5ed510391b9bdc3833farbb <directive type="section">Files</directive>
952908500d5f99f35afc5ed510391b9bdc3833farbb と同じ処理順と用法になっています。</seealso>
952908500d5f99f35afc5ed510391b9bdc3833farbb</directivesynopsis>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb<directivesynopsis type="section">
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben<name>IfDefine</name>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<description>起動時にテストが真であるときのみに処理されるディレクティブを
952908500d5f99f35afc5ed510391b9bdc3833farbb囲む</description>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe<syntax>&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;/IfDefine&gt;</syntax>
952908500d5f99f35afc5ed510391b9bdc3833farbb<contextlist><context>server config</context><context>virtual host</context>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<context>directory</context><context>.htaccess</context>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben</contextlist>
952908500d5f99f35afc5ed510391b9bdc3833farbb<override>All</override>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb<usage>
952908500d5f99f35afc5ed510391b9bdc3833farbb <p><code>&lt;IfDefine <var>test</var>&gt;...&lt;/IfDefine&gt;</code>
952908500d5f99f35afc5ed510391b9bdc3833farbb セクションは、
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben ディレクティブを条件付きで指定するために利用します。
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <directive type="section">IfDefine</directive> セクションに
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh 含まれるディレクティブは、<var>test</var>が
952908500d5f99f35afc5ed510391b9bdc3833farbb 定義されているときのみ処理されます。
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh もし <var>test</var> が定義されていなければ、
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 開始と終了の指定の間のディレクティブは無視されます。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <p><directive type="section">IfDefine</directive> セクションディレクティブに
952908500d5f99f35afc5ed510391b9bdc3833farbb 指定する <var>test</var> は、
952908500d5f99f35afc5ed510391b9bdc3833farbb 次の二つの形式のうちの一つをとります:</p>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
952908500d5f99f35afc5ed510391b9bdc3833farbb <ul>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe <li><var>parameter-name</var></li>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <li><code>!</code><var>parameter-name</var></li>
952908500d5f99f35afc5ed510391b9bdc3833farbb </ul>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>前者の場合には、<var>parameter-name</var> と名付けられたパラメータが
952908500d5f99f35afc5ed510391b9bdc3833farbb 定義されていれば開始と終了の間のディレクティブが処理されます。
952908500d5f99f35afc5ed510391b9bdc3833farbb 後者の場合は逆で、<em>parameter-name</em> が指定されて<strong>いない</strong>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe 場合に処理されます。</p>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
952908500d5f99f35afc5ed510391b9bdc3833farbb <p><var>parameter-name</var> 引数は、サーバを起動する際に
952908500d5f99f35afc5ed510391b9bdc3833farbb <program>httpd</program> のコマンドラインに
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <code>-D<var>parameter</var></code> という形で指定するか
952908500d5f99f35afc5ed510391b9bdc3833farbb あるいは <directive module="core">Define</directive>
952908500d5f99f35afc5ed510391b9bdc3833farbb ディレクティブで指定されると定義されます。 </p>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
952908500d5f99f35afc5ed510391b9bdc3833farbb <p><directive type="section">IfDefine</directive> セクションは
3d96ee83babeec32482c9082c9426340cee8c44dwrowe 入れ子にすることができ、複数のパラメータによるテストをするために使用できます。
952908500d5f99f35afc5ed510391b9bdc3833farbb 例:</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <example>
952908500d5f99f35afc5ed510391b9bdc3833farbb httpd -DReverseProxy -DUseCache -DMemCache ...<br />
952908500d5f99f35afc5ed510391b9bdc3833farbb <br />
952908500d5f99f35afc5ed510391b9bdc3833farbb # httpd.conf<br />
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben &lt;IfDefine ReverseProxy&gt;<br />
952908500d5f99f35afc5ed510391b9bdc3833farbb <indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb LoadModule proxy_module modules/mod_proxy.so<br />
952908500d5f99f35afc5ed510391b9bdc3833farbb LoadModule proxy_http_module modules/mod_proxy_http.so<br />
3d96ee83babeec32482c9082c9426340cee8c44dwrowe &lt;IfDefine UseCache&gt;<br />
2d2eda71267231c2526be701fe655db125852c1ffielding <indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb LoadModule cache_module modules/mod_cache.so<br />
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;IfDefine MemCache&gt;<br />
952908500d5f99f35afc5ed510391b9bdc3833farbb <indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb LoadModule mem_cache_module modules/mod_mem_cache.so<br />
952908500d5f99f35afc5ed510391b9bdc3833farbb </indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;/IfDefine&gt;<br />
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;IfDefine !MemCache&gt;<br />
952908500d5f99f35afc5ed510391b9bdc3833farbb <indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb LoadModule cache_disk_module modules/mod_cache_disk.so<br />
aecb17a45c6d3ee4729ed5f68dc4270f211ee7a8fielding </indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;/IfDefine&gt;
952908500d5f99f35afc5ed510391b9bdc3833farbb </indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;/IfDefine&gt;
952908500d5f99f35afc5ed510391b9bdc3833farbb </indent>
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;/IfDefine&gt;
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben </example>
952908500d5f99f35afc5ed510391b9bdc3833farbb</usage>
952908500d5f99f35afc5ed510391b9bdc3833farbb</directivesynopsis>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb<directivesynopsis type="section">
952908500d5f99f35afc5ed510391b9bdc3833farbb<name>IfModule</name>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe<description>モジュールの存在するかしないかに応じて処理される
952908500d5f99f35afc5ed510391b9bdc3833farbbディレクティブを囲む</description>
952908500d5f99f35afc5ed510391b9bdc3833farbb<syntax>&lt;IfModule [!]<var>module-file</var>|<var>module-identifier</var>&gt; ...
952908500d5f99f35afc5ed510391b9bdc3833farbb &lt;/IfModule&gt;</syntax>
952908500d5f99f35afc5ed510391b9bdc3833farbb<contextlist><context>server config</context><context>virtual host</context>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben<context>directory</context><context>.htaccess</context>
952908500d5f99f35afc5ed510391b9bdc3833farbb</contextlist>
952908500d5f99f35afc5ed510391b9bdc3833farbb<override>All</override>
952908500d5f99f35afc5ed510391b9bdc3833farbb<compatibility>モジュール識別子はバージョン 2.1 以降で使用可能。</compatibility>
952908500d5f99f35afc5ed510391b9bdc3833farbb
3d96ee83babeec32482c9082c9426340cee8c44dwrowe<usage>
2d2eda71267231c2526be701fe655db125852c1ffielding <p><code>&lt;IfModule <var>test</var>&gt;...&lt;/IfModule&gt;</code>
952908500d5f99f35afc5ed510391b9bdc3833farbb セクションは、モジュールが存在するときに処理されるディレクティブを
971ced4989415d939afba8d70c82a9ce0113bceend 指定するために利用します。
952908500d5f99f35afc5ed510391b9bdc3833farbb <directive type="section">IfModule</directive> セクションに
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 含まれるディレクティブは、<var>test</var>
952908500d5f99f35afc5ed510391b9bdc3833farbb で指定するモジュールが組み込まれているときのみ処理されます。
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben もし <var>test</var> が組み込まれていなければ、開始と終了の間のディレクティブ
971ced4989415d939afba8d70c82a9ce0113bceend は無視されます。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
971ced4989415d939afba8d70c82a9ce0113bceend <p><directive type="section">IfModule</directive> セクションディレクティブに
952908500d5f99f35afc5ed510391b9bdc3833farbb 指定する <var>test</var> は、
3d96ee83babeec32482c9082c9426340cee8c44dwrowe 次の二つの形式のうちの一つをとります。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <ul>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <li><var>module</var></li>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
952908500d5f99f35afc5ed510391b9bdc3833farbb <li>!<var>module</var></li>
952908500d5f99f35afc5ed510391b9bdc3833farbb </ul>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>前者の場合は、<var>module</var> と名付けられたモジュールが
3d96ee83babeec32482c9082c9426340cee8c44dwrowe Apache に組み込まれていれば
952908500d5f99f35afc5ed510391b9bdc3833farbb (コンパイル済みのものと、<directive
952908500d5f99f35afc5ed510391b9bdc3833farbb module="mod_so">LoadModule</directive> を利用して
952908500d5f99f35afc5ed510391b9bdc3833farbb 動的に読み込んだものの両方)、
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 開始と終了の間のディレクティブが処理されます。
952908500d5f99f35afc5ed510391b9bdc3833farbb 後者の場合は逆で、<var>module</var> が組み込まれて<strong>いない</strong>
952908500d5f99f35afc5ed510391b9bdc3833farbb 場合に処理されます。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <p><var>module</var> 引数は、モジュール識別子か
3d96ee83babeec32482c9082c9426340cee8c44dwrowe コンパイルをした時のモジュールのファイル名です。
2d2eda71267231c2526be701fe655db125852c1ffielding 例えば、<code>rewrite_module</code> は識別子で
952908500d5f99f35afc5ed510391b9bdc3833farbb <code>mod_rewrite.c</code> はファイル名です。
952908500d5f99f35afc5ed510391b9bdc3833farbb モジュールが複数のソースファイルから構成されている場合は、文字列
952908500d5f99f35afc5ed510391b9bdc3833farbb <code>STANDARD20_MODULE_STUFF</code> があるファイルの名前を
952908500d5f99f35afc5ed510391b9bdc3833farbb 使ってください。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
3d96ee83babeec32482c9082c9426340cee8c44dwrowe <p><directive type="section">IfModule</directive> セクションは
952908500d5f99f35afc5ed510391b9bdc3833farbb 入れ子にすることが可能であり、
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin 複数のモジュールのテストを行なうために使用できます。</p>
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin <note>特定のモジュールの存在に関わらず動作する
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin 設定ファイルの原本が必要なときにのみこのセクションを使用してください。
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin 通常の動作では、ディレクティブを
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin <directive type="section">IfModule</directive> セクションの中に
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin 入れる必要はありません。</note>
952908500d5f99f35afc5ed510391b9bdc3833farbb</usage>
952908500d5f99f35afc5ed510391b9bdc3833farbb</directivesynopsis>
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar
952908500d5f99f35afc5ed510391b9bdc3833farbb<directivesynopsis>
952908500d5f99f35afc5ed510391b9bdc3833farbb<name>Include</name>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe<description>サーバ設定ファイル中から他の設定ファイルを取り込む</description>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<syntax>Include <var>file-path</var>|<var>directory-path</var></syntax>
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar<contextlist><context>server config</context><context>virtual host</context>
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar<context>directory</context>
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar</contextlist>
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar<compatibility>ワイルドカードによるマッチは 2.0.41 以降で使用可能</compatibility>
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar<usage>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <p>このディレクティブにより、サーバの設定ファイルから
952908500d5f99f35afc5ed510391b9bdc3833farbb 他の設定ファイルをインクルードすることができます。</p>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <p>複数のファイルをアルファベット順に一度に読み込むために、
952908500d5f99f35afc5ed510391b9bdc3833farbb シェル形式 (<code>fnmatch</code>) のワイルドカード文字を使うことができます。
3d96ee83babeec32482c9082c9426340cee8c44dwrowe さらに、<directive>Include</directive> にディレクトリを指定した場合は、
952908500d5f99f35afc5ed510391b9bdc3833farbb ディレクトリとそのサブディレクトリ内の全てのファイルを
952908500d5f99f35afc5ed510391b9bdc3833farbb アルファベット順に読み込んで、設定ファイルとして処理します。
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben しかし、ディレクトリ全体を読み込むのはお勧めできません。
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben ふとしたことから <code>httpd</code> が読み込みに失敗するような
952908500d5f99f35afc5ed510391b9bdc3833farbb 一時ファイルをディレクトリに残してしまうようなことがよくあるからです。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
3d96ee83babeec32482c9082c9426340cee8c44dwrowe <p>指定するファイルパスは絶対パスか、
952908500d5f99f35afc5ed510391b9bdc3833farbb <directive module="core">ServerRoot</directive> ディレクトリからの
952908500d5f99f35afc5ed510391b9bdc3833farbb 相対パスか、のどちらかです。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <p>例:</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb <example>
952908500d5f99f35afc5ed510391b9bdc3833farbb Include /usr/local/apache2/conf/ssl.conf<br />
3d96ee83babeec32482c9082c9426340cee8c44dwrowe Include /usr/local/apache2/conf/vhosts/*.conf
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh </example>
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin <p><directive module="core">ServerRoot</directive> からの相対パスの場合は:</p>
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin <example>
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin Include conf/ssl.conf<br />
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin Include conf/vhosts/*.conf
a5f529db7a87e3ac2e3c67b4ae009c1c094235d9minfrin </example>
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin</usage>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb<seealso><program>apachectl</program></seealso>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben</directivesynopsis>
952908500d5f99f35afc5ed510391b9bdc3833farbb
952908500d5f99f35afc5ed510391b9bdc3833farbb<directivesynopsis>
952908500d5f99f35afc5ed510391b9bdc3833farbb<name>KeepAlive</name>
952908500d5f99f35afc5ed510391b9bdc3833farbb<description>HTTP の持続的な接続を有効にする</description>
952908500d5f99f35afc5ed510391b9bdc3833farbb<syntax>KeepAlive On|Off</syntax>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe<default>KeepAlive On</default>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<contextlist><context>server config</context><context>virtual host</context>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh</contextlist>
2d2eda71267231c2526be701fe655db125852c1ffielding
952908500d5f99f35afc5ed510391b9bdc3833farbb<usage>
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>HTTP/1.0 の Keep-Alive 拡張と HTTP/1.1 の持続的接続の機能は、
952908500d5f99f35afc5ed510391b9bdc3833farbb 複数のリクエストが同じ TCP の接続で送られる、長時間持続する
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben HTTP セッションを提供します。たくさんの画像が
952908500d5f99f35afc5ed510391b9bdc3833farbb 含まれる HTML ドキュメントでは場合によっては遅延時間が 50% 短縮される結果も
952908500d5f99f35afc5ed510391b9bdc3833farbb でています。Keep-Alive 接続を有効にするには
952908500d5f99f35afc5ed510391b9bdc3833farbb <code>KeepAlive On</code> と設定します。</p>
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq <p>HTTP/1.0 に対応したクライアントの際には、
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq クライアントより特に要求があった場合のみ Keep-Alive 接続となります。
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq さらに、HTTP/1.0 クライアントでは、コンテンツの容量が先に
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq (訳注: 要求に対して応答を返す前に) わかる場合のみ Keep-Alive
c779aea0c9b7c47c2e4fd258e3f54835a849625dpoirier 接続を利用できます。
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq これは、CGI の出力や SSI のページ、
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq サーバが生成したディレクトリのリストのような動的コンテンツを
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq HTTP/1.0 クライアントに送る場合には Keep-Alive 接続を使えないことを意味します。
952908500d5f99f35afc5ed510391b9bdc3833farbb HTTP/1.1 に対応したクライアントの際には、
3de8d8649277a02f53aa4f06121420985e8eee08nd 特に指定されない限りはデフォルトとして持続的な接続が行なわれます。
3de8d8649277a02f53aa4f06121420985e8eee08nd クライアントが要求すれば、コンテンツの容量を判別できないものを
3de8d8649277a02f53aa4f06121420985e8eee08nd 持続的な接続を通して送るために、チャンクエンコーディングが用いられます。</p>
82acfa3f57607ae78326104c420a317260554a47nd
3de8d8649277a02f53aa4f06121420985e8eee08nd <p>クライアントが Keep-Alive コネクションを使用している場合、
3de8d8649277a02f53aa4f06121420985e8eee08nd そのコネクションを通してどれだけたくさんのリクエストが処理されても、
3de8d8649277a02f53aa4f06121420985e8eee08nd それは「リクエスト」1 つとして、MaxRequestsPerChild ディレクティブでは
3de8d8649277a02f53aa4f06121420985e8eee08nd 数えられます。</p>
82acfa3f57607ae78326104c420a317260554a47nd</usage>
82acfa3f57607ae78326104c420a317260554a47nd
82acfa3f57607ae78326104c420a317260554a47nd<seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
82acfa3f57607ae78326104c420a317260554a47nd</directivesynopsis>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
82acfa3f57607ae78326104c420a317260554a47nd<directivesynopsis>
82acfa3f57607ae78326104c420a317260554a47nd<name>KeepAliveTimeout</name>
82acfa3f57607ae78326104c420a317260554a47nd<description>持続的な接続で次のリクエストが来るまでサーバが待つ時間</description>
82acfa3f57607ae78326104c420a317260554a47nd<syntax>KeepAliveTimeout <var>seconds</var></syntax>
82acfa3f57607ae78326104c420a317260554a47nd<default>KeepAliveTimeout 5</default>
952908500d5f99f35afc5ed510391b9bdc3833farbb<contextlist><context>server config</context><context>virtual host</context>
952908500d5f99f35afc5ed510391b9bdc3833farbb</contextlist>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
952908500d5f99f35afc5ed510391b9bdc3833farbb<usage>
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>接続を閉じる前に、Apache が次のリクエストを何秒待つかを指定します。
952908500d5f99f35afc5ed510391b9bdc3833farbb リクエストを受け付けた後は、<directive
952908500d5f99f35afc5ed510391b9bdc3833farbb module="core">Timeout</directive> ディレクティブによって
952908500d5f99f35afc5ed510391b9bdc3833farbb 指定されたタイムアウト値が使われます。</p>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe
dad234382d8424e1c5a30af2838e172aec9d6d1bdreid <p><directive>KeepAliveTimeout</directive> を大きな値に設定すると、
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh 負荷の高いサーバにおいてはパフォーマンスの問題を引き起こす場合があります。
952908500d5f99f35afc5ed510391b9bdc3833farbb タイムアウトが長ければ長いほど、より多くのサーバプロセスが
952908500d5f99f35afc5ed510391b9bdc3833farbb 活性でないクライアントからの接続の終了を待ち続けることになります。</p>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
952908500d5f99f35afc5ed510391b9bdc3833farbb <p>名前ベースのバーチャルホストコンテキストでは、
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <directive module="core">NameVirtualHost</directive>
952908500d5f99f35afc5ed510391b9bdc3833farbb のセットの中で最初に定義されたバーチャルホストの値
3d96ee83babeec32482c9082c9426340cee8c44dwrowe (デフォルトホスト) が使われます。
2d2eda71267231c2526be701fe655db125852c1ffielding その他の値は無視されます。</p>
952908500d5f99f35afc5ed510391b9bdc3833farbb</usage>
952908500d5f99f35afc5ed510391b9bdc3833farbb</directivesynopsis>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
952908500d5f99f35afc5ed510391b9bdc3833farbb<directivesynopsis type="section">
952908500d5f99f35afc5ed510391b9bdc3833farbb<name>Limit</name>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe<description>囲いの中にあるアクセス制御の適用を特定の HTTP メソッドのみに
7c7372abe2484e7fcf81937b93496d1246e5b816gstein制限する</description>
952908500d5f99f35afc5ed510391b9bdc3833farbb<syntax>&lt;Limit <var>method</var> [<var>method</var>] ... &gt; ...
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben &lt;/Limit&gt;</syntax>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben<contextlist><context>server config</context><context>virtual host</context>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben<context>directory</context><context>.htaccess</context>
952908500d5f99f35afc5ed510391b9bdc3833farbb</contextlist>
952908500d5f99f35afc5ed510391b9bdc3833farbb<override>All</override>
952908500d5f99f35afc5ed510391b9bdc3833farbb
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<usage>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <p>アクセス制御は、通常<strong>全ての</strong>アクセスメソッドに対して
59ae852bea7d507f61999f982ded8219d2c0ec15wrowe 影響し、普通はこれが望ましい挙動です。
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <strong>そうしたことから、大部分の場合にはアクセス制御に関わるディレクティブを
3d96ee83babeec32482c9082c9426340cee8c44dwrowe <directive type="section">Limit</directive> セクション内に
7c7372abe2484e7fcf81937b93496d1246e5b816gstein 書くべきではありません。 </strong></p>
952908500d5f99f35afc5ed510391b9bdc3833farbb
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben <p><directive type="section">Limit</directive> ディレクティブの
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 目的は、アクセス制御の範囲を
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 指定された HTTP メソッドに限定するためです。
952908500d5f99f35afc5ed510391b9bdc3833farbb それ以外のメソッドは、<directive type="section">Limit</directive> で囲われたアクセス制御の
952908500d5f99f35afc5ed510391b9bdc3833farbb <strong>影響を受けません</strong>。
952908500d5f99f35afc5ed510391b9bdc3833farbb 以下の例は、<code>POST</code>, <code>PUT</code>, <code>DELETE</code> のメソッドに対してのみアクセスの制御を行ない、
3d96ee83babeec32482c9082c9426340cee8c44dwrowe それ以外のメソッドについては制限しません:</p>
58619148951981bcfa5c506ad8ce745aa8831980rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb <example>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben &lt;Limit POST PUT DELETE&gt;<br />
58619148951981bcfa5c506ad8ce745aa8831980rbb <indent>
58619148951981bcfa5c506ad8ce745aa8831980rbb Require valid-user<br />
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben </indent>
58619148951981bcfa5c506ad8ce745aa8831980rbb &lt;/Limit&gt;
58619148951981bcfa5c506ad8ce745aa8831980rbb </example>
58619148951981bcfa5c506ad8ce745aa8831980rbb
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <p>メソッド名には以下の中から一つ以上を列挙することができます:
3d72602d1d9e6f0d49d20f0d0a71831c160ef589wrowe <code>GET</code>,
3d72602d1d9e6f0d49d20f0d0a71831c160ef589wrowe <code>POST</code>, <code>PUT</code>, <code>DELETE</code>,
58619148951981bcfa5c506ad8ce745aa8831980rbb <code>CONNECT</code>, <code>OPTIONS</code>,
3d96ee83babeec32482c9082c9426340cee8c44dwrowe <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>,
2d2eda71267231c2526be701fe655db125852c1ffielding <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>,
3d72602d1d9e6f0d49d20f0d0a71831c160ef589wrowe <code>LOCK</code>, <code>UNLOCK</code>. <strong>メソッド名は
3d72602d1d9e6f0d49d20f0d0a71831c160ef589wrowe 大文字小文字を区別します。</strong> <code>GET</code> を指定した場合には
3d72602d1d9e6f0d49d20f0d0a71831c160ef589wrowe <code>HEAD</code> リクエストにも制限がかかります。<code>TRACE</code>
3d72602d1d9e6f0d49d20f0d0a71831c160ef589wrowe メソッドに制限をかけることはできません
4a13940dc2990df0a798718d3a3f9cf1566c2217bjh (<directive type="section" module="core">TraceEnable</directive> 参照)。</p>
3d72602d1d9e6f0d49d20f0d0a71831c160ef589wrowe
3d72602d1d9e6f0d49d20f0d0a71831c160ef589wrowe <note type="warning">アクセス制御が目的の場合は
3d72602d1d9e6f0d49d20f0d0a71831c160ef589wrowe <directive type="section" module="core">Limit</directive>
3d72602d1d9e6f0d49d20f0d0a71831c160ef589wrowe セクションの代わりに <directive type="section"
3d72602d1d9e6f0d49d20f0d0a71831c160ef589wrowe module="core">LimitExcept</directive> セクションを使用した方が良いでしょう。
58619148951981bcfa5c506ad8ce745aa8831980rbb <directive type="section" module="core">LimitExcept</directive>
58619148951981bcfa5c506ad8ce745aa8831980rbb セクションでは不特定のメソッドに対しても防御できるからです。</note>
58619148951981bcfa5c506ad8ce745aa8831980rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb</usage>
58619148951981bcfa5c506ad8ce745aa8831980rbb</directivesynopsis>
58619148951981bcfa5c506ad8ce745aa8831980rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb<directivesynopsis type="section">
3d96ee83babeec32482c9082c9426340cee8c44dwrowe<name>LimitExcept</name>
58619148951981bcfa5c506ad8ce745aa8831980rbb<description>指定されたもの以外の HTTP メソッドにアクセス制御を
58619148951981bcfa5c506ad8ce745aa8831980rbb制限する</description>
58619148951981bcfa5c506ad8ce745aa8831980rbb<syntax>&lt;LimitExcept <var>method</var> [<var>method</var>] ... &gt; ...
58619148951981bcfa5c506ad8ce745aa8831980rbb &lt;/LimitExcept&gt;</syntax>
92d6e181c597b97647d750c43a7bc3626e056b59gstein<contextlist><context>server config</context><context>virtual host</context>
58619148951981bcfa5c506ad8ce745aa8831980rbb<context>directory</context><context>.htaccess</context>
58619148951981bcfa5c506ad8ce745aa8831980rbb</contextlist>
92d6e181c597b97647d750c43a7bc3626e056b59gstein<override>All</override>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
58619148951981bcfa5c506ad8ce745aa8831980rbb<usage>
58619148951981bcfa5c506ad8ce745aa8831980rbb <p><directive type="section">LimitExcept</directive> と
58619148951981bcfa5c506ad8ce745aa8831980rbb <code>&lt;/LimitExcept&gt;</code> は、引数に
58619148951981bcfa5c506ad8ce745aa8831980rbb <strong>含まれていない</strong>
92d6e181c597b97647d750c43a7bc3626e056b59gstein HTTP のアクセスメソッドに適用するためのアクセス制御
58619148951981bcfa5c506ad8ce745aa8831980rbb ディレクティブを括るために利用します。
58619148951981bcfa5c506ad8ce745aa8831980rbb つまり、<directive type="section" module="core"
92d6e181c597b97647d750c43a7bc3626e056b59gstein >Limit</directive> セクションの反対の動作をし、
58619148951981bcfa5c506ad8ce745aa8831980rbb 標準のメソッドと標準外や未認識のメソッドの場合の両方を設定できます。
58619148951981bcfa5c506ad8ce745aa8831980rbb <directive type="section" module="core">Limit</directive> のドキュメントも
58619148951981bcfa5c506ad8ce745aa8831980rbb 併せて参照してください。</p>
58619148951981bcfa5c506ad8ce745aa8831980rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb <p>例:</p>
58619148951981bcfa5c506ad8ce745aa8831980rbb
3e0494829cf6e8ac61e80fd82b1133111a52614cbrianp <example>
58619148951981bcfa5c506ad8ce745aa8831980rbb &lt;LimitExcept POST GET&gt;<br />
3d96ee83babeec32482c9082c9426340cee8c44dwrowe <indent>
58619148951981bcfa5c506ad8ce745aa8831980rbb Require valid-user<br />
30c095035b1d5910cc239a1384c816aef228beb5jim </indent>
30c095035b1d5910cc239a1384c816aef228beb5jim &lt;/LimitExcept&gt;
30c095035b1d5910cc239a1384c816aef228beb5jim </example>
30c095035b1d5910cc239a1384c816aef228beb5jim
30c095035b1d5910cc239a1384c816aef228beb5jim</usage>
30c095035b1d5910cc239a1384c816aef228beb5jim</directivesynopsis>
bdadc326446cae4a51bf75811fbe01a3a362df64gstein
bdadc326446cae4a51bf75811fbe01a3a362df64gstein<directivesynopsis>
30c095035b1d5910cc239a1384c816aef228beb5jim<name>LimitInternalRecursion</name>
58619148951981bcfa5c506ad8ce745aa8831980rbb<description>内部リダイレクトと入れ子になったサブリクエストの最大数を決定する</description>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben<syntax>LimitInternalRecursion <var>number</var> [<var>number</var>]</syntax>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben<default>LimitInternalRecursion 10</default>
58619148951981bcfa5c506ad8ce745aa8831980rbb<contextlist><context>server config</context><context>virtual host</context>
58619148951981bcfa5c506ad8ce745aa8831980rbb</contextlist>
58619148951981bcfa5c506ad8ce745aa8831980rbb<compatibility>Apache 2.0.47 以降で使用可能</compatibility>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe
58619148951981bcfa5c506ad8ce745aa8831980rbb<usage>
58619148951981bcfa5c506ad8ce745aa8831980rbb <p>内部リダイレクトは例えば <directive>Action</directive> ディレクティブを
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 使っているときに起こります。<directive>Action</directive> ディレクティブは
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 元々のリクエストを CGI スクリプトに内部リダイレクトを行ないます。
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh サブリクエストはいくつかの URI に対して、リクエストされたときに
58619148951981bcfa5c506ad8ce745aa8831980rbb 何が起こるかを調べるための Apache の機構です。例えば、<module>mod_dir</module>
58619148951981bcfa5c506ad8ce745aa8831980rbb は <directive module="mod_dir">DirectoryIndex</directive> ディレクティブ
3d96ee83babeec32482c9082c9426340cee8c44dwrowe がリストするファイルを調べるためにサブリクエストを使います。</p>
58619148951981bcfa5c506ad8ce745aa8831980rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb <p><directive>LimitInternalRecursion</directive> は内部リダイレクトや
58619148951981bcfa5c506ad8ce745aa8831980rbb サブリクエストが無限ループに陥ったときのサーバクラッシュを防ぎます。
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 普通、そのようなループは設定に失敗したときに発生します。</p>
58619148951981bcfa5c506ad8ce745aa8831980rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb <p>このディレクティブは、リクエスト毎に評価される、二つの違う限界値を
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh 設定します。最初の <var>number</var> は、起こり得る
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh 内部リクエストの最大値を設定します。二つめの <var>number</var> は
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh サブリクエストが入れ子にできる深さを設定します。<var>number</var> を
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 一つだけ指定したときは、両方の限界値にその値が設定されます。</p>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
58619148951981bcfa5c506ad8ce745aa8831980rbb <example><title>例</title>
58619148951981bcfa5c506ad8ce745aa8831980rbb LimitInternalRecursion 5
ef5650b61a8e35f3cc93ec07e73efc17ea329894jorton </example>
ef5650b61a8e35f3cc93ec07e73efc17ea329894jorton</usage>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh</directivesynopsis>
58619148951981bcfa5c506ad8ce745aa8831980rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb<directivesynopsis>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben<name>LimitRequestBody</name>
58619148951981bcfa5c506ad8ce745aa8831980rbb<description>クライアントから送られる HTTP リクエストのボディの
58619148951981bcfa5c506ad8ce745aa8831980rbb総量を制限する</description>
ef5650b61a8e35f3cc93ec07e73efc17ea329894jorton<syntax>LimitRequestBody <var>bytes</var></syntax>
58619148951981bcfa5c506ad8ce745aa8831980rbb<default>LimitRequestBody 0</default>
58619148951981bcfa5c506ad8ce745aa8831980rbb<contextlist><context>server config</context><context>virtual host</context>
58619148951981bcfa5c506ad8ce745aa8831980rbb<context>directory</context><context>.htaccess</context>
58619148951981bcfa5c506ad8ce745aa8831980rbb</contextlist>
58619148951981bcfa5c506ad8ce745aa8831980rbb<override>All</override>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
58619148951981bcfa5c506ad8ce745aa8831980rbb<usage>
58619148951981bcfa5c506ad8ce745aa8831980rbb <p>このディレクティブは、リクエストボディに許されるバイト数、<var>bytes</var>
58619148951981bcfa5c506ad8ce745aa8831980rbb を 0 (無制限を意味します) から 2147483647 (2GB) までの数値で指定します。</p>
58619148951981bcfa5c506ad8ce745aa8831980rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb <p><directive>LimitRequestBody</directive> ディレクティブは、
975bdabd8564af8a8bc075b5e70eb77af84793b6sf ディレクティブが書かれたコンテキスト
58619148951981bcfa5c506ad8ce745aa8831980rbb (サーバ全体、ディレクトリ、ファイル、ロケーション) 内で
3d96ee83babeec32482c9082c9426340cee8c44dwrowe 許容する HTTP リクエストメッセージボディのサイズに制限をかけることができます。
ef5650b61a8e35f3cc93ec07e73efc17ea329894jorton クライアントのリクエストがその制限値を越えていれば、
2d2eda71267231c2526be701fe655db125852c1ffielding サーバはリクエストを処理せずにエラーを返します。
58619148951981bcfa5c506ad8ce745aa8831980rbb 普通のリクエストメッセージボディのサイズは、リソースの種類や
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben 許可されているメソッドによって大きく変わります。
58619148951981bcfa5c506ad8ce745aa8831980rbb CGI スクリプトは、よく情報を受信するために
58619148951981bcfa5c506ad8ce745aa8831980rbb メッセージボディを使います。
58619148951981bcfa5c506ad8ce745aa8831980rbb <code>PUT</code> メソッドの実装は、このディレクティブの値として
3d96ee83babeec32482c9082c9426340cee8c44dwrowe 少なくともあるリソースに対してサーバが受け付けようとする
7c7372abe2484e7fcf81937b93496d1246e5b816gstein 表現の大きさほどの値を必要とします。</p>
58619148951981bcfa5c506ad8ce745aa8831980rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb <p>このディレクティブは、
58619148951981bcfa5c506ad8ce745aa8831980rbb 管理者にクライアントからの異常なリクエストを制御できるようにし、
58619148951981bcfa5c506ad8ce745aa8831980rbb 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe
58619148951981bcfa5c506ad8ce745aa8831980rbb <p>ある場所へのファイルアップロードを許可する場合に、
58619148951981bcfa5c506ad8ce745aa8831980rbb アップロードできるファイルのサイズを 100K に制限したければ、
58619148951981bcfa5c506ad8ce745aa8831980rbb 以下のように指定します:</p>
58619148951981bcfa5c506ad8ce745aa8831980rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb <example>
58619148951981bcfa5c506ad8ce745aa8831980rbb LimitRequestBody 102400
58619148951981bcfa5c506ad8ce745aa8831980rbb </example>
58619148951981bcfa5c506ad8ce745aa8831980rbb
aecb17a45c6d3ee4729ed5f68dc4270f211ee7a8fielding</usage>
58619148951981bcfa5c506ad8ce745aa8831980rbb</directivesynopsis>
58619148951981bcfa5c506ad8ce745aa8831980rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb<directivesynopsis>
58619148951981bcfa5c506ad8ce745aa8831980rbb<name>LimitRequestFields</name>
58619148951981bcfa5c506ad8ce745aa8831980rbb<description>クライアントからの HTTP リクエストのヘッダフィールドの数を
58619148951981bcfa5c506ad8ce745aa8831980rbb制限する</description>
58619148951981bcfa5c506ad8ce745aa8831980rbb<syntax>LimitRequestFields <var>number</var></syntax>
58619148951981bcfa5c506ad8ce745aa8831980rbb<default>LimitRequestFields 100</default>
aecb17a45c6d3ee4729ed5f68dc4270f211ee7a8fielding<contextlist><context>server config</context></contextlist>
2d2eda71267231c2526be701fe655db125852c1ffielding
58619148951981bcfa5c506ad8ce745aa8831980rbb<usage>
c779aea0c9b7c47c2e4fd258e3f54835a849625dpoirier <p><var>number</var> には、0 (無制限を意味します) から 32767
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben までの整数を指定します。
c779aea0c9b7c47c2e4fd258e3f54835a849625dpoirier デフォルト値は、定数 <code>DEFAULT_LIMIT_REQUEST_FIELDS</code>
58619148951981bcfa5c506ad8ce745aa8831980rbb によりコンパイル時に定義されます (配布時には 100 と指定されています)。</p>
58619148951981bcfa5c506ad8ce745aa8831980rbb
3d96ee83babeec32482c9082c9426340cee8c44dwrowe <p><directive>LimitRequestBody</directive> ディレクティブは、
2d2eda71267231c2526be701fe655db125852c1ffielding サーバ管理者が HTTP リクエスト中において許可するリクエストヘッダフィールド数を
783334f576bfb7ef44623faf7af44a65cf13b9b4jim 指定します。
783334f576bfb7ef44623faf7af44a65cf13b9b4jim サーバはこの値には通常のクライアントからのリクエストに含まれるであろう
783334f576bfb7ef44623faf7af44a65cf13b9b4jim フィールドの数より大きな値が必要とします。
783334f576bfb7ef44623faf7af44a65cf13b9b4jim クライアントにより使われた要求ヘッダーフィールドの数が
783334f576bfb7ef44623faf7af44a65cf13b9b4jim 20 を超えることはほとんどありませんが、
783334f576bfb7ef44623faf7af44a65cf13b9b4jim これは種々のクライアントの実装によって変わり、
783334f576bfb7ef44623faf7af44a65cf13b9b4jim 詳細なコンテントネゴシエーションをするためのブラウザの設定までにも
783334f576bfb7ef44623faf7af44a65cf13b9b4jim 影響されることがあります。
783334f576bfb7ef44623faf7af44a65cf13b9b4jim オプションの HTTP 拡張はリクエストヘッダフィールドを使って表される場合が
783334f576bfb7ef44623faf7af44a65cf13b9b4jim 多くあります。</p>
783334f576bfb7ef44623faf7af44a65cf13b9b4jim
783334f576bfb7ef44623faf7af44a65cf13b9b4jim <p>このディレクティブは、
783334f576bfb7ef44623faf7af44a65cf13b9b4jim 管理者にクライアントからの異常なリクエストを制御できるようにし、
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem リクエストのフィールドが多過ぎることを意味するエラー応答が
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem 普通のクライアントに返されるような時はこの値を増やしてください。</p>
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem <p>例:</p>
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem <example>
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem LimitRequestFields 50
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem </example>
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem</usage>
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem</directivesynopsis>
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem<directivesynopsis>
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem<name>LimitRequestFieldSize</name>
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem<description>クライアントからの HTTP リクエストのヘッダの
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluemサイズを制限する</description>
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem<syntax>LimitRequestFieldSize <var>bytes</var></syntax>
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem<default>LimitRequestFieldSize 8190</default>
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem<contextlist><context>server config</context></contextlist>
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem<usage>
9257af3c6aaeaf201fccb3e3c87cf8c41783fdb7rpluem <p>このディレクティブは、HTTP リクエストヘッダ一つで受付ける
2d2eda71267231c2526be701fe655db125852c1ffielding バイト数 <var>bytes</var> を指定します。</p>
58619148951981bcfa5c506ad8ce745aa8831980rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb <p><directive>LimitRequestFieldSize</directive> ディレクティブは、
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben HTTP リクエストヘッダで許容されるサイズを増減させることができます。
58619148951981bcfa5c506ad8ce745aa8831980rbb サーバは、このディレクティブの値として、
58619148951981bcfa5c506ad8ce745aa8831980rbb 一般的なクライアントからリクエストが送られた際に、そのリクエストに
30c095035b1d5910cc239a1384c816aef228beb5jim 付属しているどのヘッダフィールドについても、
47ab8dcf8ad581569376f2e04ef16bc785bb122aake 十分足りる大きさになっていなければなりません。
7c7372abe2484e7fcf81937b93496d1246e5b816gstein 一般的なリクエストヘッダのサイズといっても、その大きさは個々の
30c095035b1d5910cc239a1384c816aef228beb5jim クライアントの実装によって大きく異なり、
30c095035b1d5910cc239a1384c816aef228beb5jim 詳細なコンテントネゴシエーションをサポートするかどうかの、
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben ブラウザの設定にも影響されたりします。
30c095035b1d5910cc239a1384c816aef228beb5jim SPNEGO 認証ヘッダでは 12392 バイトにまで及ぶことすらあります。</p>
30c095035b1d5910cc239a1384c816aef228beb5jim
58619148951981bcfa5c506ad8ce745aa8831980rbb <p>このディレクティブは、
47ab8dcf8ad581569376f2e04ef16bc785bb122aake 管理者にクライアントからの異常なリクエストを制御できるようにし、
2d2eda71267231c2526be701fe655db125852c1ffielding 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <p>例:</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <example>
58619148951981bcfa5c506ad8ce745aa8831980rbb LimitRequestFieldSize 4094
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben </example>
759f4a24d09e28c4eaca9f97311b497fc15cb5c7ben
58619148951981bcfa5c506ad8ce745aa8831980rbb <note>通常はデフォルトから変更する必要はありません。</note>
c861a36fe9c9a78c4fcb97e29fc1099a5ea81173rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb</usage>
2d2eda71267231c2526be701fe655db125852c1ffielding</directivesynopsis>
58619148951981bcfa5c506ad8ce745aa8831980rbb
58619148951981bcfa5c506ad8ce745aa8831980rbb<directivesynopsis>
58619148951981bcfa5c506ad8ce745aa8831980rbb<name>LimitRequestLine</name>
58619148951981bcfa5c506ad8ce745aa8831980rbb<description>クライアントからの HTTP リクエスト行のサイズを制限する</description>
58619148951981bcfa5c506ad8ce745aa8831980rbb<syntax>LimitRequestLine <var>bytes</var></syntax>
58619148951981bcfa5c506ad8ce745aa8831980rbb<default>LimitRequestLine 8190</default>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe<contextlist><context>server config</context></contextlist>
2d2eda71267231c2526be701fe655db125852c1ffielding
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<usage>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <p>このディレクティブは、HTTP リクエスト行内で許容されるバイト数
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <var>bytes</var> を指定します。</p>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
2d2eda71267231c2526be701fe655db125852c1ffielding <p><directive>LimitRequestLine</directive> ディレクティブにより、
2d2eda71267231c2526be701fe655db125852c1ffielding クライアントからの HTTP リクエスト行の許容サイズを増減できます。
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh リクエスト行は、HTTPメソッド、URI、プロトコルバージョンから成っており、
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <directive>LimitRequestLine</directive> はサーバへのリクエストに対して
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh 許容するリクエスト URI の長さを制限することになります。
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh サーバは、<code>GET</code> リクエストのクエリ部分も含めて、リソースの名前が入るに足る
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh 大きさを必要とします。</p>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <p>このディレクティブは、
0186cb43574836fc95a0506456210c94cfc3ea6ftrawick 管理者にクライアントからの異常なリクエストを制御できるようにし、
6e70165f24ec2e664764a9402e358eb0f6e99a3dtrawick 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p>
0186cb43574836fc95a0506456210c94cfc3ea6ftrawick
6e70165f24ec2e664764a9402e358eb0f6e99a3dtrawick <p>例:</p>
0186cb43574836fc95a0506456210c94cfc3ea6ftrawick
0186cb43574836fc95a0506456210c94cfc3ea6ftrawick <example>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh LimitRequestLine 4094
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh </example>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <note>通常はデフォルトから変更する必要はありません。</note>
2d2eda71267231c2526be701fe655db125852c1ffielding</usage>
2d2eda71267231c2526be701fe655db125852c1ffielding</directivesynopsis>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding<directivesynopsis>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<name>LimitXMLRequestBody</name>
2d2eda71267231c2526be701fe655db125852c1ffielding<description>XML 形式のリクエストのボディのサイズを制限する</description>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<syntax>LimitXMLRequestBody <var>bytes</var></syntax>
2d2eda71267231c2526be701fe655db125852c1ffielding<default>LimitXMLRequestBody 1000000</default>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<contextlist><context>server config</context><context>virtual host</context>
2d2eda71267231c2526be701fe655db125852c1ffielding<context>directory</context><context>.htaccess</context></contextlist>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<override>All</override>
2d2eda71267231c2526be701fe655db125852c1ffielding
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<usage>
2d2eda71267231c2526be701fe655db125852c1ffielding <p>XML 形式のリクエストのボディの最大値を (バイト単位で) 制限します。
2d2eda71267231c2526be701fe655db125852c1ffielding 値に <code>0</code> を指定するとチェックを無効にします。</p>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh
2d2eda71267231c2526be701fe655db125852c1ffielding <p>例:</p>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <example>
2d2eda71267231c2526be701fe655db125852c1ffielding LimitXMLRequestBody 0
2d2eda71267231c2526be701fe655db125852c1ffielding </example>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding</usage>
2d2eda71267231c2526be701fe655db125852c1ffielding</directivesynopsis>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh
9f9307bbe539dbcf96919715315eb64ce3465f5bben<directivesynopsis type="section">
9f9307bbe539dbcf96919715315eb64ce3465f5bben<name>Location</name>
9f9307bbe539dbcf96919715315eb64ce3465f5bben<description>囲んだディレクティブをマッチする URL のみに適用</description>
9f9307bbe539dbcf96919715315eb64ce3465f5bben<syntax>&lt;Location
9f9307bbe539dbcf96919715315eb64ce3465f5bben <var>URL-path</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</syntax>
9f9307bbe539dbcf96919715315eb64ce3465f5bben<contextlist><context>server config</context><context>virtual host</context>
6a2bd1d848ec0984e2e675b8bb88cef8768d4a32bjh</contextlist>
2d2eda71267231c2526be701fe655db125852c1ffielding
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh<usage>
2d2eda71267231c2526be701fe655db125852c1ffielding <p><directive type="section">Location</directive> ディレクティブは、
2d2eda71267231c2526be701fe655db125852c1ffielding URL により中に書かれたディレクティブの適用範囲を制限します。
2d2eda71267231c2526be701fe655db125852c1ffielding <directive type="section" module="core">Directory</directive>
2d2eda71267231c2526be701fe655db125852c1ffielding ディレクティブと似ていて、
2d2eda71267231c2526be701fe655db125852c1ffielding <code>&lt;/Location&gt;</code> ディレクティブで終了する
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben サブセクションを開始します。
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben <directive type="section">Location</directive> セクションは、
9521cafc02c2caafc8f9594006994ed1f62540a4dreid <directive type="section" module="core">Directory</directive> セクションと
18173b5033350759b5aa4f6d9a4fd9e12d440135trawick <code>.htaccess</code> の読み込みの後、
18173b5033350759b5aa4f6d9a4fd9e12d440135trawick <directive type="section" module="core">Files</directive> セクションを
18173b5033350759b5aa4f6d9a4fd9e12d440135trawick 適用した後に、設定ファイルに現れた順に処理されます。</p>
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben
18173b5033350759b5aa4f6d9a4fd9e12d440135trawick <p><directive type="section">Location</directive> セクションは
18173b5033350759b5aa4f6d9a4fd9e12d440135trawick 完全にファイルシステムと関連せずに動作します。このことから導かれる
84ba82304285b4bb1aafd5c6cdada5ce74c29973striker 結果にはいくつか注意する点があります。最も重要なものは、
84ba82304285b4bb1aafd5c6cdada5ce74c29973striker ファイルシステムの位置へのアクセス制御に <directive
84ba82304285b4bb1aafd5c6cdada5ce74c29973striker type="section">Location</directive> ディレクティブを使うべきではない
84ba82304285b4bb1aafd5c6cdada5ce74c29973striker ということです。複数の URL がファイルシステムの同じ位置にマップされる
84ba82304285b4bb1aafd5c6cdada5ce74c29973striker 可能がありますので、そのようなアクセス制御は回避されてしまう可能性が
84ba82304285b4bb1aafd5c6cdada5ce74c29973striker あります。</p>
84ba82304285b4bb1aafd5c6cdada5ce74c29973striker
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben <note><title>いつ <directive
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben type="section">Location</directive> を使うか</title>
5f7c351eb2a69d8cef6c3e98e27ce6158a0b1780rbb
66d349e02d1a5a599a01c977d2c5b0009181f7deben <p><directive type="section">Location</directive> ディレクティブは
5f7c351eb2a69d8cef6c3e98e27ce6158a0b1780rbb ファイルシステム外のコンテンツにディレクティブを適用するときに
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben 使用してください。ファイルシステムに存在するコンテンツに対しては、
dca927eafb338b9de9d0214818136c16d436e3fdrbb <directive
dca927eafb338b9de9d0214818136c16d436e3fdrbb type="section" module="core">Directory</directive> と <directive
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben type="section" module="core">Files</directive> を使ってください。
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben 例外は、<code>&lt;Location /&gt;</code> で、これはサーバ全体に対して
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben 設定を適用する簡単な方法です。</p>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh </note>
66d349e02d1a5a599a01c977d2c5b0009181f7deben
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <p>全ての (プロキシ以外の) リクエストに対し、
66d349e02d1a5a599a01c977d2c5b0009181f7deben URL は <code>/path/</code> という、
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh 接頭辞 <code>http://servername</code> を含まない形でマッチします。
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben プロキシリクエストの場合には、<code>scheme://servername/path</code>
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh という接頭辞を含む形でマッチし、接頭辞を含めて指定する必要があります。</p>
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh <p>URL にはワイルドカードを利用することができます。
dca927eafb338b9de9d0214818136c16d436e3fdrbb <code>?</code> は任意の一文字、<code>*</code> は任意の文字列にマッチします。
3d0bdf16bc410722e6c42aa2ceb0677b0ae29b90ianh どちらのワイルドカードも URL パス中の / にはマッチしません。</p>
dca927eafb338b9de9d0214818136c16d436e3fdrbb
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben <p><code>~</code> という文字を追加することで、<glossary ref="regex">正規表現</glossary>を
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben 利用することもできます。
0a09a4a642f7c0d367598394411dbdd4a6d8cd09fielding 例えば:</p>
55d986c77300fd39420b41f765b08c15b4c6418drbb
55d986c77300fd39420b41f765b08c15b4c6418drbb <example>
2d2eda71267231c2526be701fe655db125852c1ffielding &lt;Location ~ "/(extra|special)/data"&gt;
2d2eda71267231c2526be701fe655db125852c1ffielding </example>
2d2eda71267231c2526be701fe655db125852c1ffielding
2d2eda71267231c2526be701fe655db125852c1ffielding <p>は URL に <code>/extra/data</code> か <code>/special/data</code> という文字列が
2d2eda71267231c2526be701fe655db125852c1ffielding 含まれている場合にマッチします。
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <directive type="section" module="core"
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh >LocationMatch</directive> ディレクティブは
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh <directive type="section">Location</directive> の正規表現
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh 版とまったく同じ動作をします。</p>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh
<p><directive type="section">Location</directive> 機能は、<directive
module="core">SetHandler</directive> ディレクティブと
組合わせて利用すると特に便利です。
例えば、<code>example.com</code> のブラウザからのみステータスの参照を有効にしたければ、
次のようにすれば良いでしょう。</p>
<example>
&lt;Location /status&gt;<br />
<indent>
SetHandler server-status<br />
Order Deny,Allow<br />
Deny from all<br />
Allow from .example.com<br />
</indent>
&lt;/Location&gt;
</example>
<note><title>/ (スラッシュ) に関する注</title>
<p>スラッシュ文字は、URL 内に現れる場所に応じて変化する
特別な意味を持っています。
ファイルシステムにおいて利用する場合には複数のスラッシュでも一つの
スラッシュとして扱われることが多いですが、
(<em>すなわち</em>、<code>/home///foo</code> は
<code>/home/foo</code> と同じといったように)
URL においては必ずしもそうなるわけではありません。
<directive type="section" module="core">LocationMatch</directive>
ディレクティブや正規表現を利用した
<directive type="section">Location</directive> ディレクティブで、
複数のスラッシュにマッチさせたいときには、明示的に記述する
必要があります。</p>
<p>例えば、<code>&lt;LocationMatch ^/abc&gt;</code> は、
<code>/abc</code> というリクエスト URL にマッチしますが、
<code>//abc</code> というリクエスト URL にはマッチしません。
(正規表現でない) <directive type="section">Location</directive>
ディレクティブは、
proxy リクエストに対して利用する際には同様の振る舞いをしますが、
(正規表現でない) <directive type="section">Location</directive> を proxy
でないリクエストに対して利用する際には、
一つのスラッシュで複数のスラッシュにマッチします。
例えば、<code>&lt;Location /abc/def&gt;</code> と指定し、
<code>/abc//def</code> というリクエストがあれば、
マッチすることになります。</p></note>
</usage>
<seealso>リクエストを受けた際にこれらの異なるセクションが
組み合わされる方法については <a href="/sections.html">
&lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
</directivesynopsis>
<directivesynopsis type="section">
<name>LocationMatch</name>
<description>囲んだディレクティブを正規表現にマッチする URL のみに
適用</description>
<syntax>&lt;LocationMatch
<var>regex</var>&gt; ... &lt;/LocationMatch&gt;</syntax>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p><directive type="section">LocationMatch</directive> ディレクティブは、
<directive type="section" module="core">Location</directive> と同じ様に
URL により中に書かれたディレクティブの適用範囲を制限します。
但し、引数は普通の文字列ではなく、<glossary ref="regex">正規表現</glossary>となります。
例えば、</p>
<example>
&lt;LocationMatch "/(extra|special)/data"&gt;
</example>
<p>は URL に <code>/extra/data</code> か <code>/special/data</code>
という文字列が含まれている場合にマッチします。</p>
</usage>
<seealso>リクエストを受けた際にこれらの異なるセクションが
組み合わされる方法については <a href="/sections.html">
&lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
</directivesynopsis>
<directivesynopsis>
<name>LogLevel</name>
<description>ErrorLog の冗長性を制御する</description>
<syntax>LogLevel <var>level</var></syntax>
<default>LogLevel warn</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p><directive>LogLevel</directive> は、エラーログ (<directive module="core"
>ErrorLog</directive> ディレクティブを
見てください) へ記録するメッセージの冗長性を調整します。
以下の <var>level</var> を指定でき、順に重要度が下がっていきます。</p>
<table border="1">
<tr>
<th><strong>レベル</strong> </th>
<th><strong>説明</strong> </th>
<th><strong>例</strong> </th>
</tr>
<tr>
<td><code>emerg</code> </td>
<td>緊急 - システムが利用できない</td>
<td>Child cannot open lock file. Exiting
(子プロセスがロックファイルを開けないため終了した)</td>
</tr>
<tr>
<td><code>alert</code> </td>
<td>直ちに対処が必要</td>
<td>getpwuid: couldn't determine user name from uid
(getpwuid: UID からユーザ名を特定できなかった)</td>
</tr>
<tr>
<td><code>crit</code> </td>
<td>致命的な状態</td>
<td>socket: Failed to get a socket, exiting child
(socket: ソケットが得られないため、子プロセスを終了させた)</td>
</tr>
<tr>
<td><code>error</code> </td>
<td>エラー</td>
<td>Premature end of script headers
(スクリプトのヘッダが足りないままで終わった)</td>
</tr>
<tr>
<td><code>warn</code> </td>
<td>警告</td>
<td>child process 1234 did not exit, sending another SIGHUP
(子プロセス 1234 が終了しなかった。もう一度 SIGHUP を送る)</td>
</tr>
<tr>
<td><code>notice</code> </td>
<td>普通だが、重要な情報</td>
<td>httpd: caught SIGBUS, attempting to dump core in ...
(httpd: SIGBUS シグナルを受け、... へコアダンプをした)</td>
</tr>
<tr>
<td><code>info</code> </td>
<td>追加情報</td>
<td>"Server seems busy, (you may need to increase
StartServers, or Min/MaxSpareServers)..." (「サーバは負荷が高い、
(StartServers や Min/MaxSpareServers の値を増やす必要があるかも)」)</td>
</tr>
<tr>
<td><code>debug</code> </td>
<td>デバッグメッセージ</td>
<td>"Opening config file ..." (設定ファイルを開いている...)</td>
</tr>
</table>
<p>特定のレベルが指定された場合、それより高いレベルの全てのメッセージが
報告されます。
<em>例えば</em>、<code>LogLevel info</code> に指定すると、
<code>notice</code> と <code>warn</code> も報告されます。</p>
<p>なお <code>crit</code> 以上のレベルを指定することが推奨されます。</p>
<p>例:</p>
<example>
LogLevel notice
</example>
<note><title>注</title>
<p>ファイルにログを出力する場合、<code>notice</code>
レベルのメッセージは抑制されず、すべてログに出力されます。
しかし <code>syslog</code> を使用している場合は、
これは当てはまりません。</p>
</note>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>MaxKeepAliveRequests</name>
<description>持続的な接続上で許可されるリクエストの数</description>
<syntax>MaxKeepAliveRequests <var>number</var></syntax>
<default>MaxKeepAliveRequests 100</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p><directive>MaxKeepAliveRequests</directive> ディレクティブは、
<directive module="core">KeepAlive</directive> が有効な場合に、
一回の接続で受け付け可能なリクエストの数を制限します。
<code>0</code> に設定していれば、受け付けるリクエストは無制限になります。
この設定は、サーバ性能を向上させるために、大きな数値を指定することを勧めます。
</p>
<p>例:</p>
<example>
MaxKeepAliveRequests 500
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>NameVirtualHost</name>
<description>名前ベースのバーチャルホストのための IP アドレスを指定</description>
<syntax>NameVirtualHost <var>addr</var>[:<var>port</var>]</syntax>
<contextlist><context>server config</context></contextlist>
<usage>
<p><directive>NameVirtualHost</directive> ディレクティブは、
<a href="/vhosts/">名前ベースのバーチャルホスト</a>の設定を行ないたい場合に
必要となるものです。</p>
<p><var>addr</var> にはホスト名を指定できますが、
常に IP アドレスを指定するのが推奨されます。
例えば、</p>
<example>
NameVirtualHost 111.22.33.44
</example>
<p><directive>NameVirtualHost</directive> ディレクティブは、
名前ベースのバーチャルホストを
利用してリクエストを受け付ける IP アドレスを指定します。
これは、普通は名前ベースのバーチャルホストアドレスです。
ただし、ファイアーウォールや他のプロキシがリクエストを受け付け、
違う IP アドレスのサーバにフォワードするという場合は、
リクエストを提供したいマシン上の物理インターフェースの
IP アドレスを指定する必要があります。
複数のアドレスで複数の名前ベースのバーチャルホストを指定する場合は
各アドレスに対してディレクティブを書いてください。</p>
<note><title>中</title>
<p>「主サーバ」や、どの <code>_default_</code> サーバも、
<directive>NameVirtualHost</directive> で指定した IP アドレスへのリクエスト
を処理することは<strong>ありません</strong> (なぜか
<directive>NameVirtualHost</directive> を
指定したけどそのアドレスに <directive>VirtualHost</directive> を定義しなかった場合を除く)。</p>
</note>
<p>名前ベースのバーチャルホストにポート番号を指定することも可能です。
例えば</p>
<example>
NameVirtualHost 111.22.33.44:8080
</example>
<p>IPV6 のアドレスは次の例のように角括弧で囲む必要があります:</p>
<example>
NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080
</example>
<p>すべてのインタフェースへのリクエストを受け取るようにするためには、
引数として <code>*</code> を使います。</p>
<example>
NameVirtualHost *
</example>
<note><title><directive type="section">VirtualHost</directive> ディレクティブの引数</title>
<p><directive type="section">VirtualHost</directive> ディレクティブの引数は <directive
>NameVirtualHost</directive> ディレクティブの引数に正確に
合っている必要があることに注意してください。</p>
<example>
NameVirtualHost 1.2.3.4<br />
&lt;VirtualHost 1.2.3.4&gt;<br />
# ...<br />
&lt;/VirtualHost&gt;<br />
</example>
</note>
</usage>
<seealso><a href="/vhosts/">バーチャルホスト説明書
</a></seealso>
</directivesynopsis>
<directivesynopsis>
<name>Options</name>
<description>ディレクトリに対して使用可能な機能を設定する</description>
<syntax>Options
[+|-]<var>option</var> [[+|-]<var>option</var>] ...</syntax>
<default>Options All</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>Options</override>
<usage>
<p><directive>Options</directive> ディレクティブは、特定のディレクトリに対して
どの機能が使用可能かを制御します。</p>
<p><var>option</var> を <code>None</code>に指定すると、
特別な機能は全て無効になります。
また、以下の示す 1 個以上のものを指定できます。</p>
<dl>
<dt><code>All</code></dt>
<dd><code>MultiViews</code> を除いた全ての機能が有効となります。
これがデフォルトです。</dd>
<dt><code>ExecCGI</code></dt>
<dd>
<module>mod_cgi</module> による CGI スクリプトの実行を許可します。</dd>
<dt><code>FollowSymLinks</code></dt>
<dd>
サーバが、このディレクトリ内でシンボリックリンクをたどれるようにします。
<note><p>サーバがシンボリックリンクをたどる場合でも、
<directive type="section" module="core">Directory</directive> セクションに
マッチさせるための
パス名は<em>変更されません</em>。</p>
<p><directive type="section" module="core">Location</directive> 内に
このオプションを指定しても<strong>無視される</strong>ことに
注意してください。</p>
<p>このオプションを省略したからといってセキュリティの強化にはなりません。
なぜなら symlink の検査はレースコンディションを引き起こす可能性があり、
そのため回避可能になるからです。</p>
</note></dd>
<dt><code>Includes</code></dt>
<dd>
<module>mod_include</module> が提供する SSI を有効にします。</dd>
<dt><code>IncludesNOEXEC</code></dt>
<dd>
SSI は有効になりますが、<code>#exec</code> コマンド と <code>#exec CGI</code> は無効になります。
ただし、<code>#include virtual</code> により、<directive module="mod_alias">ScriptAlias</directive> されたディレクトリで
CGI を実行することは可能です。</dd>
<dt><code>Indexes</code></dt>
<dd>
もし、URL がディレクトリにマップするリクエストであって、
且つ <directive module="mod_dir">DirectoryIndex</directive> で指定したファイル (例えば、<code>index.html</code>) が
ディレクトリ内に無ければ、<module>mod_autoindex</module> が
ディレクトリ内の一覧を整形して返します。</dd>
<dt><code>MultiViews</code></dt>
<dd>
<module>mod_negotiation</module> による
<a href="/content-negotiation.html">コンテントネゴシエーション</a>
された "MultiViews" を許可します。</dd>
<dt><code>SymLinksIfOwnerMatch</code></dt>
<dd>
シンボリック先のファイルまたはディレクトリが、
シンボリックリンクの所有ユーザ ID と同じ場合にのみシンボリックリンクを
たどれるようにします。
<note><title>注</title> <p><directive type="section" module="core"
>Location</directive> 内にこのオプションを
指定しても無視されます。</p>
<p>このオプションはセキュリティの強化にはなりません。
なぜなら symlink の検査はレースコンディションを引き起こす可能性があり、
そのため回避可能になるからです。</p>
</note>
</dd>
</dl>
<p>通常、ディレクトリに対して複数の <directive>Options</directive> が
適用可能な場合、
最も近いもの一つのみが適用され、他のものは無視されます。
複数の指定がマージされるわけではありません。(<a
href="/sections.html#mergin">セクションのマージ方法</a>を参照してください。)
しかし、すべての <directive>Options</directive> ディレクティブが <code>+</code> や <code>-</code> 付きで
指定された場合はオプションの値はマージされます。
<code>+</code> を頭につければ現在の設定に加えられ、
<code>-</code> を付ければ現在の設定から削除されます。</p>
<note type="warning"><title>警告</title>
<p><directive>Options</directive> で <code>+</code> や
<code>-</code> のついたものを、つけないものと組み合わせて
指定する構文は正しい構文ではありませんので、期待する結果に
ならないことがあります。</p>
</note>
<p>例えば、<code>+</code> や <code>-</code> を利用しない場合は:</p>
<example>
&lt;Directory /web/docs&gt;<br />
<indent>
Options Indexes FollowSymLinks<br />
</indent>
&lt;/Directory&gt;<br />
<br />
&lt;Directory /web/docs/spec&gt;<br />
<indent>
Options Includes<br />
</indent>
&lt;/Directory&gt;
</example>
<p><code>/web/docs/spec</code> というディレクトリには、
<code>Includes</code> だけが適用されます。
しかし、2 番目の <directive>Options</directive> で <code>+</code> や <code>-</code> を利用してみると:</p>
<example>
&lt;Directory /web/docs&gt;<br />
<indent>
Options Indexes FollowSymLinks<br />
</indent>
&lt;/Directory&gt;<br />
<br />
&lt;Directory /web/docs/spec&gt;<br />
<indent>
Options +Includes -Indexes<br />
</indent>
&lt;/Directory&gt;
</example>
<p><code>/web/docs/spec</code> というディレクトリには、 <code>FollowSymLinks</code> と
<code>Includes</code> が適用されます。</p>
<note><title>注</title>
<p><code>-IncludesNOEXEC</code> もしくは
<code>-Includes</code> を指定すると、
前の設定がどのようになっていようとも SSI は無効となります。</p>
</note>
<p>どのような設定もされていなければ、デフォルトでは <code>All</code> に
なります。</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>RLimitCPU</name>
<description>Apache の子プロセスから起動されたプロセスの CPU 消費量を
制限する</description>
<syntax>RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</syntax>
<default>未設定。オペレーティングシステムのデフォルトを使用</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>All</override>
<usage>
<p>一つか二つのパラメータをとります。
最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、
2 番目のパラメータは最大のリソースリミットを設定します。
パラメータには数字か、オペレーティングシステムの最大となる
<code>max</code> のどちらかを指定することができます。
最大のリソースリミットを上げるためには、サーバを
<code>root</code> で実行するか起動されなければいけません。</p>
<p>ちなみに、この設定は Apache の子プロセス自体ではなく、
リクエストを受け付けた Apache の子プロセスから fork されたプロセスに
適用されます。
これには CGI や SSI から実行されたコマンドが含まれますが、Apache の
親プロセスから fork されたログのパイププロセスなどには適用されません。</p>
<p>CPU リソースのリミットはプロセスあたりの秒数で表わされます。</p>
</usage>
<seealso><directive module="core">RLimitMEM</directive></seealso>
<seealso><directive module="core">RLimitNPROC</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>RLimitMEM</name>
<description>Apache の子プロセスから起動されたプロセスのメモリ消費量を
制限する</description>
<syntax>RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</syntax>
<default>未設定。オペレーティングシステムのデフォルトを使用</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>All</override>
<usage>
<p>一つか二つのパラメータをとります。
最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、
2 番目のパラメータは最大のリソースリミットを設定します。
パラメータには数字か、オペレーティングシステムの最大となる
<code>max</code> のどちらかを指定することができます。
最大のリソースリミットを上げるためには、サーバを
<code>root</code> で実行するか起動されなければいけません。</p>
<p>この設定は Apache の子プロセス自体ではなく、
リクエストを受け付けた Apache の子プロセスから fork されたプロセスに
適用されます。
これには CGI や SSI から実行されたコマンドが含まれますが、Apache の
親プロセスから fork されたログのパイププロセスなどには適用されません。</p>
<p>メモリリソースのリミットはプロセスあたりのバイト数で表わされます。</p>
</usage>
<seealso><directive module="core">RLimitCPU</directive></seealso>
<seealso><directive module="core">RLimitNPROC</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>RLimitNPROC</name>
<description>Apache の子プロセスから起動されたプロセスが起動するプロセスの
数を制限する</description>
<syntax>RLimitNPROC <var>number</var>|max [<var>number</var>|max]</syntax>
<default>未設定。オペレーティングシステムのデフォルトを使用</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>All</override>
<usage>
<p>一つか二つのパラメータをとります。
最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、
2 番目のパラメータは最大のリソースリミットを設定します。
パラメータには数字か、オペレーティングシステムの最大となる
<code>max</code> のどちらかを指定することができます。
最大のリソースリミットを上げるためには、サーバを
<code>root</code> で実行するか起動されなければいけません。</p>
<p>この設定は Apache の子プロセス自体ではなく、
リクエストを受け付けた Apache の子プロセスから fork されたプロセスに
適用されます。
これには CGI や SSI から実行されたコマンドが含まれますが、Apache の
親プロセスから fork されたログのパイププロセスなどには適用されません。</p>
<p>プロセスの制限は、ユーザあたりのプロセス数で制御されます。</p>
<note><title>注</title>
<p> CGI プロセスがウェブサーバのユーザ ID 以外で実行されるので
<strong>無ければ</strong>、
このディレクティブは、サーバ自身が生成できるプロセスの数を制限することになります。
そのような状況になっているかどうかは、<code>error_log</code> 中の
<strong><code>cannot fork</code></strong> というメッセージにより
確認することができます。</p>
</note>
</usage>
<seealso><directive module="core">RLimitMEM</directive></seealso>
<seealso><directive module="core">RLimitCPU</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>ScriptInterpreterSource</name>
<description>CGI スクリプトのインタープリタの位置を調べるための手法</description>
<syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
<default>ScriptInterpreterSource Script</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
<compatibility>Win32 のみ。
オプション <code>Registry-Strict</code> は Apache 2.0 以降で使用可能</compatibility>
<usage>
<p>このディレクティブは、Apache で CGI スクリプトを
実行する場合に利用するインタープリタを、
どのように探し出すかについて制御するために使用します。
デフォルトの設定は <code>Script</code> です。これはスクリプトの
shebang 行 (最初の行で <code>#!</code> から始まるもの)
に指されているインタープリタを使用します。Win32 ではその行は
以下の様になります。</p>
<example>
#!C:/Perl/bin/perl.exe
</example>
<p>もしくは、<code>perl</code> が <code>PATH</code> にある場合は単に:</p>
<example>
#!perl
</example>
<p><code>ScriptInterpreterSource Registry</code> を指定すると、
スクリプトファイルの拡張子 (例えば、<code>.pl</code>) を
キーとして、Windows のレジストリツリー <code>HKEY_CLASSES_ROOT</code>
を検索するようになります。レジストリのサブキー
<code>Shell\ExecCGI\Command</code> か、それが存在しない場合は
<code>Shell\Open\Command</code> がスクリプトファイルを開くために
使われます。レジストリキーが見つからないときは、Apache は <code>Script</code>
オプションが指定されたときの動作に戻ります。</p>
<note type="warning"><title>セキュリティ</title>
<p><code>ScriptInterpreterSource Registry</code> を <directive
module="mod_alias">ScriptAlias</directive> されたディレクトリで使うときは
注意してください。Apache はそのディレクトリ中の<em>すべての</em>ファイルを
実行しようとします。<code>Registry</code> という設定は通常は実行されない
ファイルに対して望ましくないプログラムの実行が発生する可能性があります。
例えば、ほとんどの Windows システムで、
<code>.htm</code> ファイルのデフォルトの「開く」コマンドは
Microsoft Internet Explorer を実行しますので、スクリプトに指定された
ディレクトリにある <code>.htm</code> ファイルへのリクエストはサーバの
バックグラウンドでブラウザを実行することになります。これは、一分内くらいで
システムをクラッシュさるための良い方法です。</p>
</note>
<p>Apache 2.0 から導入されたオプション <code>Registry-Strict</code> は
<code>Registry</code> と同じことを行ないますが、サブキー
<code>Shell\ExecCGI\Command</code> のみを使います。
<code>ExecCGI</code> キーは普通に使われるキーではありません。Windows
レジストリに手動で設定する必要がありますので、システムでの偶発的なプログラムの
実行を防ぐことができます。</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>ServerAdmin</name>
<description>サーバがクライアントに送るエラーメッセージに含める電子メールの
アドレス</description>
<syntax>ServerAdmin <var>email-address</var>|<var>URL</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p><directive>ServerAdmin</directive> は、クライアントに返すさまざまな
エラーメッセージ中に記述する、
問合せアドレスを設定します。与えられた引数を <code>httpd</code> が
URL と認識しない場合は、<var>email-address</var> だと解釈して、
ハイパーリンクのターゲットに <code>mailto:</code> を付けます。
実際には、ここには電子メールアドレスを使うことが推奨されています。
多くの CGI スクリプトはそうなっていることを仮定しています。
URL を使う場合は、あなたの管理下にある別サーバを指すようにしてください。
そうでないと、エラーが起こったときに連絡をすることができなくなって
しまいます。
</p>
<p>その際、これのために専用のアドレスを設定するのが良いでしょう。
例えば、</p>
<example>
ServerAdmin www-admin@foo.example.com
</example>
<p>といったようにします。ユーザはいつもサーバに関する話であるということを
明記してくるわけではありませんので。</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>ServerAlias</name>
<description>リクエストを名前ベースのバーチャルホストにマッチさせているときに
使用されるホストの別名</description>
<syntax>ServerAlias <var>hostname</var> [<var>hostname</var>] ...</syntax>
<contextlist><context>virtual host</context></contextlist>
<usage>
<p><directive>ServerAlias</directive> ディレクティブは、<a
href="/vhosts/name-based.html">ネームベースのバーチャルホスト</a>において
使用するホストの別名を指定します。
適切であれば、<directive>ServerAlias</directive> ディレクティブでは
ワイルドカードを使うこともできます。</p>
<example>
&lt;VirtualHost *&gt;<br />
ServerName server.domain.com<br />
ServerAlias server server2.domain.com server2<br />
# ...<br />
&lt;/VirtualHost&gt;
</example>
</usage>
<seealso><a href="/vhosts/">Apache バーチャルホスト説明書</a></seealso>
</directivesynopsis>
<directivesynopsis>
<name>ServerName</name>
<description>サーバが自分自身を示すときに使うホスト名とポート</description>
<syntax>ServerName [<var>scheme</var>://]<var>fully-qualified-domain-name</var>[:<var>port</var>]</syntax>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<compatibility>このディレクティブはバージョン 2.0 ではバージョン 1.3 の
<directive>Port</directive> ディレクティブの機能も含みます。</compatibility>
<usage>
<p><directive>ServerName</directive> ディレクティブは、
サーバが自分自身を示すスキーム名、ホスト名とポート番号を設定します。
これは、リダイレクトする URL を生成する際に利用されます。
例えば、ウェブサーバを動かしているマシンは <code>simple.example.com</code>
で、DNS のエイリアス <code>www.example.com</code> もあるときに、
ウェブサーバが後者として認識されて欲しいときは、以下のようにディレクティブを
使います。</p>
<example>
ServerName www.example.com:80
</example>
<p><directive>ServerName</directive> が指定されていないときは、
サーバは IP アドレスから逆引きを行なうことでホスト名を知ろうとします。
<directive>ServerName</directive> にポートが指定されていないときは、
サーバはリクエストが来ている
ポートを使います。最高の信頼性と確実性をもたらすためには、
<directive>ServerName</directive> を使ってホスト名とポートを明示的に
指定してください。</p>
<p><a href="/vhosts/name-based.html">名前ベースのバーチャルホスト</a>
を利用している場合、<directive type="section" module="core"
>VirtualHost</directive> セクション内の
<directive>ServerName</directive> はこのバーチャルホストにマッチするために
何がリクエストの Host: ヘッダに現れる必要があるのかを指定します。</p>
<p>SSL を処理するデバイス、例えばリバースプロクシやロードバランサや
SSL 処理軽減アプライアンスの裏側でサーバが稼動する場合もあるでしょう。
そういった場合では、クライアントが接続するときに使う
<code>https://</code> スキームとポート番号を <directive>ServerName</directive>
ディレクティブで指定して、自己参照 URL が正しく生成できるようにします。</p>
<p>自己参照 URL (例えば <module>mod_dir</module> モジュールによるものなど)
が指定されたポートを使うか、クライアントのリクエストのポート番号を使うかを
決定する設定は <directive module="core">UseCanonicalName</directive>
ディレクティブと <directive
module="core">UseCanonicalPhysicalPort</directive>
ディレクティブを参照してください。</p>
</usage>
<seealso><a href="/dns-caveats.html">DNS と Apache に関する話</a></seealso>
<seealso><a href="/vhosts/">Apache バーチャルホスト説明書</a></seealso>
<seealso><directive module="core">UseCanonicalName</directive></seealso>
<seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
<seealso><directive module="core">NameVirtualHost</directive></seealso>
<seealso><directive module="core">ServerAlias</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>ServerPath</name>
<description>非互換のブラウザが名前ベースのバーチャルホストにアクセスしたときの
ための互換用 URL パス名</description>
<syntax>ServerPath <var>URL-path</var></syntax>
<contextlist><context>virtual host</context></contextlist>
<usage>
<p><directive>ServerPath</directive> ディレクティブは、<a
href="/vhosts/">ネームベースのバーチャルホスト</a>において利用する
互換用 URL パス名を設定します。</p>
</usage>
<seealso><a href="/vhosts/">Apache バーチャルホスト説明書</a></seealso>
</directivesynopsis>
<directivesynopsis>
<name>ServerRoot</name>
<description>インストールされたサーバのベースディレクトリ</description>
<syntax>ServerRoot <var>directory-path</var></syntax>
<default>ServerRoot /usr/local/apache</default>
<contextlist><context>server config</context></contextlist>
<usage>
<p><directive>ServerRoot</directive> ディレクティブは、
サーバが存在するディレクトリを設定します。
通常、<code>conf/</code> や <code>logs/</code> といったサブディレクトリが
存在します。
また、他の設定ディレクティブ (例えば <directive
module="core">Include</directive> や <directive
module="mod_so">LoadModule</directive> など) における相対パスは、
このディレクトリからの相対位置となります。</p>
<example><title>例</title>
ServerRoot /home/httpd
</example>
</usage>
<seealso><a href="/invoking.html"><code>httpd</code> の <code>-d</code>
オプション</a></seealso>
<seealso><directive>ServerRoot</directive> の権限を適切に設定する方法は<a
href="/misc/security_tips.html#serverroot">セキュリティのこつ</a></seealso>
</directivesynopsis>
<directivesynopsis>
<name>ServerSignature</name>
<description>サーバが生成するドキュメントのフッタを設定</description>
<syntax>ServerSignature On|Off|EMail</syntax>
<default>ServerSignature Off</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>All</override>
<usage>
<p><directive>ServerSignature</directive> ディレクティブは、
サーバが生成するドキュメント
(エラーメッセージ、<module>mod_proxy</module> における FTP のディレクトリリスト、
<module>mod_info</module> の出力、等々)
の最下行に付与するフッタの設定を行ないます。
そのようなフッタ行を有効にしたい理由には、
プロキシが複数連なっている場合に、ユーザはどのサーバが返した
エラーメッセージかを知る手段がほとんど無いというものがあります。</p>
<p>デフォルトである <code>Off</code> に設定をすると、フッタ行が抑制されます
(そして、Apache-1.2 以前と互換の動作をします)。
<code>On</code> に設定した場合は、単にドキュメントの中に、サーバのバージョン、
稼動中のバーチャルホストの <a
href="#servername">ServerName</a> の書かれた行を追加し、
<code>EMail</code> にした場合はさらに参照されたドキュメントに対する <a
href="#serveradmin">ServerAdmin</a> を指す "mailto:" が追加されます。</p>
<p>バージョン 2.0.44 以降では、表示されるサーバーのバージョン番号の詳細は<directive
module="core">ServerTokens</directive>
ディレクティブにより制御されます。</p>
</usage>
<seealso><directive module="core">ServerTokens</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>ServerTokens</name>
<description><code>Server</code> HTTP 応答ヘッダを設定する</description>
<syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
<default>ServerTokens Full</default>
<contextlist><context>server config</context></contextlist>
<usage>
<p>このディレクティブは、クライアントに送り返す <code>Server</code>
応答ヘッダ内に、サーバの一般的な OS 種別や、
コンパイルされて組み込まれているモジュールの情報を
含めるかどうかを指定します。</p>
<dl>
<dt><code>ServerTokens Prod[uctOnly]</code></dt>
<dd>サーバは (例えば): <code>Server:
Apache</code> といったように送ります。</dd>
<dt><code>ServerTokens Major</code></dt>
<dd>Server sends (<em>e.g.</em>): <code>Server:
Apache/2</code></dd>
<dt><code>ServerTokens Minor</code></dt>
<dd>Server sends (<em>e.g.</em>): <code>Server:
Apache/2.0</code></dd>
<dt><code>ServerTokens Min[imal]</code></dt>
<dd>サーバは (例えば): <code>Server:
Apache/2.0.41</code> といったように送ります。</dd>
<dt><code>ServerTokens OS</code></dt>
<dd>サーバは (例えば): <code>Server: Apache/2.0.41
(Unix)</code> といったように送ります。</dd>
<dt><code>ServerTokens Full</code> (もしくは未指定)</dt>
<dd>サーバは (例えば): <code>Server: Apache/2.0.41
(Unix) PHP/4.2.2 MyMod/1.2</code> といったように送ります。</dd>
</dl>
<p>この設定はサーバ全体に適用され、バーチャルホスト上で有効にしたり
無効にしたりはできません。</p>
<p>バージョン 2.0.44 以降ではこのディレクティブは <directive
module="core">ServerSignature</directive>
ディレクティブにより表示される情報も制御します。</p>
</usage>
<seealso><directive module="core">ServerSignature</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>SetHandler</name>
<description>マッチするファイルがハンドラで処理されるようにする</description>
<syntax>SetHandler <var>handler-name</var>|None</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
<compatibility>Apache 2.0 で core に移動</compatibility>
<usage>
<p><code>.htaccess</code> や <directive type="section" module="core"
>Directory</directive>
セクション、<directive type="section" module="core">Location</directive>
セクションに書かれた場合、
このディレクティブはそこにあるすべてのファイルが
<var>handler-name</var> で指定された<a href="/handler.html"
>ハンドラ</a>で扱われることを強制します。例えば、拡張子に関わらず、
ディレクトリ全体がイメージマップファイルとして解析して欲しい場合には、
以下をそのディレクトリの <code>.htaccess</code>
ファイルに記述します:</p>
<example>
SetHandler imap-file
</example>
<p>別の例: URL <code>http://servername/status</code>
が指定されたときにサーバが状態報告をするようにしたいときは、以下を
<code>httpd.conf</code> に記述します:</p>
<example>
&lt;Location /status&gt;<br />
<indent>
SetHandler server-status<br />
</indent>
&lt;/Location&gt;
</example>
<p><code>None</code> という値を設定することで、
前の方の <directive>SetHandler</directive> で定義された設定を無効にすることが
できます。</p>
<p><strong>注意:</strong>SetHandler はデフォルトのハンドラをオーバーライド
しますので、通常の挙動、たとえば、スラッシュ (/) で終わる URL が
リクエストされたときにディレクトリやインデックスファイルを返すよう取り扱う挙動は、
行われなくなります。
</p>
</usage>
<seealso><directive module="mod_mime">AddHandler</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>SetInputFilter</name>
<description>クライアントのリクエストや POST の入力を処理するフィルタを設定する</description>
<syntax>SetInputFilter <var>filter</var>[;<var>filter</var>...]</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
<usage>
<p><directive>SetInputFilter</directive> ディレクティブはクライアントの
リクエストや POST の入力をサーバが受け取ったときに処理するフィルタを
設定します。これは <directive module="mod_mime">AddInputFilter</directive>
ディレクティブを含め、他の場所で定義されているフィルタの設定に
追加されます。</p>
<p>複数のフィルタを指定するときは、データを処理する順番に
セミコロンで区切る必要があります。</p>
</usage>
<seealso><a href="/filter.html">フィルタ</a>説明書</seealso>
</directivesynopsis>
<directivesynopsis>
<name>SetOutputFilter</name>
<description>サーバの応答を処理するフィルタを設定する</description>
<syntax>SetOutputFilter <var>filter</var>[;<var>filter</var>...]</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
<usage>
<p><directive>SetOutputFilter</directive> ディレクティブは
サーバの応答をクライアントに送り返される前に処理するフィルタを設定します。
これは <directive module="mod_mime">AddOutputFilter</directive>
ディレクティブを含め、他の場所で定義されているフィルタの設定に
追加されます。</p>
<p>例えば、以下の設定は <code>/www/data/</code> ディレクトリのすべての
ファイルを SSI で処理します。</p>
<example>
&lt;Directory /www/data/&gt;<br />
<indent>
SetOutputFilter INCLUDES<br />
</indent>
&lt;/Directory&gt;
</example>
<p>複数のフィルタを指定するときは、データを処理する順番に
セミコロンで区切る必要があります。</p>
</usage>
<seealso><a href="/filter.html">フィルタ</a>説明書</seealso>
</directivesynopsis>
<directivesynopsis>
<name>TimeOut</name>
<description>各イベントについて、リクエストを失敗させるまでにサーバが
待つ時間を設定</description>
<syntax>TimeOut <var>seconds</var></syntax>
<default>TimeOut 60</default>
<contextlist><context>server config</context><context>virtual host</context></contextlist>
<usage>
<p><directive>TimeOut</directive> ディレクティブは、
様々な条件下での I/O 待ち時間を定義します:</p>
<ol>
<li>クライアントからのデータを読み込む時。
受信バッファが空になっていて、TCP パケットが届くまで
待つ時間の長さ</li>
<li>クライアントに対してデータを送り出す時。
送信バッファがいっぱいで、パケットの受信完了 <transnote>ACK</transnote>
が届くまで待つ時間の長さ</li>
<li><module>mod_cgi</module> 内で、CGI スクリプトが出力を
返すまでの待ち時間の長さ</li>
<li><module>mod_ext_filter</module> 内で、フィルタ処理で出力を
待つ時間の長さ</li>
<li><module>mod_proxy</module> 内で、
<directive module="mod_proxy">ProxyTimeout</directive>
が設定されていない場合のデフォルトの待ち時間</li>
</ol>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>TraceEnable</name>
<description><code>TRACE</code> メソッドのリクエストに対する応答方法を決める
</description>
<syntax>TraceEnable <var>[on|off|extended]</var></syntax>
<default>TraceEnable on</default>
<contextlist><context>server config</context></contextlist>
<compatibility>Apache 1.3.34, 2.0.55 以降</compatibility>
<usage>
<p>Apache のコア機能<transnote><module>core</module></transnote>と
<module>mod_proxy</module> 両方の <code>TRACE</code>
の挙動をオーバーライドします。デフォルトの <code>TraceEnable on</code>
は、リクエストボディを受け入れないような、RFC2616 に準拠した
<code>TRACE</code> リクエストを受け付けます。
<code>TraceEnable off</code> と設定すると、コアサーバと
<module>mod_proxy</module> は <code>405</code> (メソッド不許可)
エラーをクライアントに返します。</p>
<p>最後に、テストや調査目的などの限定用途として、仕様に準拠しない
<code>TraceEnable extended</code> を使って、リクエストボディを
受け付けるように挙動を変更できます。(オリジンサーバとしての)
Apache のコアでは、リクエストボディのサイズは 64k (
<code>Transfer-Encoding: chunked</code> が使われている場合は
chunk ヘッダ用に +8k) に制限されます。
Apache のコアは、ヘッダと全ての chunk ヘッダをレスポンスの
ボディとして返却します。
proxy サーバとしては、リクエストボディのサイズは 64k に制限されません。</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>UseCanonicalName</name>
<description>サーバが自分自身の名前とポートを決定する方法を設定する</description>
<syntax>UseCanonicalName On|Off|Dns</syntax>
<default>UseCanonicalName Off</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context></contextlist>
<usage>
<p>多くの状況で Apache は<em>自己参照</em> URL、すなわち
同じサーバを指す URL、を作成する必要があります。
<code>UseCanonicalName On</code> の場合は、<directive
module="core">ServerName</directive> ディレクティブで指定されている
ホスト名とポート番号を使って、その正規名 (自己参照の名前) を生成します。
この名前は、すべての自己参照 URL で使われますし、CGI の
<code>SERVER_NAME</code> と <code>SERVER_PORT</code> でも使われます。</p>
<p><code>UseCanonicalName Off</code> の場合、
クライアントがホスト名とポートを指定したときには、
それらを元に自己参照 URL を作成します (指定がなかったときは
上の定義と同様にして正規名を解決します)。
これらの値は<a href="/vhosts/name-based.html">名前ベースの
バーチャルホスト</a>を実装で使われているのと同じ値で、
同じクライアントで取得できる値になっています。
CGI 変数 <code>SERVER_NAME</code> と <code>SERVER_PORT</code>
もクライアントから与えられた値から作成されます。</p>
<p>このような挙動が便利な例は、イントラネットのサーバで <code>www</code>
のような短い名前でユーザがマシンに接続するときです。
ユーザの入力で短いホスト名が使われていて、URL が<em>最後のスラッシュ無しの</em>
ディレクトリになっている <code>http://www/splat</code> のようなとき、
Apache はリクエストを <code>http://www.domain.com/splat/</code>
へリダイレクトします。
認証をするように設定していると、この場合
ユーザは 2 回認証をしなければならなくなります (<code>www</code> に
対して 1 回、<code>www.domain.com</code> に対してもう 1 回 --
詳細は <a
href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">この話題の
FAQ</a> を参照してください)。
しかし <directive>UseCanonicalName</directive> が <code>Off</code> になっていると、
Apache は <code>http://www/splat/</code> にリダイレクトします。</p>
<p>三つ目のオプション <code>UseCanonicalName DNS</code> は、
大規模な IP ベースのバーチャルホスティングで、
<code>Host:</code> ヘッダを提供しない古いクライアントを
サポートする場合を想定しています。
このオプションでは Apache は、クライアントが接続した IP アドレスに対して
DNS の逆引きを行なって、自己参照 URL を作成します。</p>
<note type="warning"><title>警告</title>
<p>CGI が <code>SERVER_NAME</code> に関して何らかの前提条件を
仮定しているときには、このオプションの設定によっては動作しなく
なるかもしれません。クライアントは実質的にはホスト名として
何でも望みの値を指定することができます。CGI が
<code>SERVER_NAME</code> を使って自己参照 URL を作成することしかしない
場合は、どの設定を行なっても大丈夫なはずです。</p></note>
</usage>
<seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
<seealso><directive module="core">ServerName</directive></seealso>
<seealso><directive module="mpm_common">Listen</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>UseCanonicalPhysicalPort</name>
<description>自分自身の名前とポート番号を解決する方法を設定する
</description>
<syntax>UseCanonicalPhysicalPort On|Off</syntax>
<default>UseCanonicalPhysicalPort Off</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context></contextlist>
<usage>
<p>さまざまな局面で <em>自己参照</em> URL -- それ自体のサーバを参照する URL
を作ることになります。<code>UseCanonicalPhysicalPort On</code> と設定すると、
<directive module="core">UseCanonicalName</directive> に従って別名を
生成する場合に、実際の物理ポート番号を使って構成するようになります。
<code>UseCanonicalPhysicalPort Off</code> の場合は、実際の物理ポート番号は
使用せず、設定された情報を元にポート番号を決めます。</p>
<note><title>注意</title>
<p>物理ポートが使われる場合の順番は次のようになっています:<br /><br />
<code>UseCanonicalName On</code></p>
<ul>
<li><code>ServerName</code> で指定されているポート番号</li>
<li>物理ポート番号</li>
<li>デフォルトのポート番号</li>
</ul>
<code>UseCanonicalName Off | DNS</code>
<ul>
<li><code>Host:</code> ヘッダをパースして取得されるポート番号</li>
<li>物理ポート番号</li>
<li><code>ServerName</code> で指定されているポート番号</li>
<li>デフォルトのポート番号</li>
</ul>
<p><code>UseCanonicalPhysicalPort Off</code> で、
物理ポート番号が上記の順序付けから除外されます。</p>
</note>
</usage>
<seealso><directive module="core">UseCanonicalName</directive></seealso>
<seealso><directive module="core">ServerName</directive></seealso>
<seealso><directive module="mpm_common">Listen</directive></seealso>
</directivesynopsis>
<directivesynopsis type="section">
<name>VirtualHost</name>
<description>特定のホスト名や IP アドレスのみに適用されるディレクティブを
囲む</description>
<syntax>&lt;VirtualHost
<var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]]
...&gt; ... &lt;/VirtualHost&gt;</syntax>
<contextlist><context>server config</context></contextlist>
<usage>
<p><directive type="section">VirtualHost</directive> 及び
<code>&lt;/VirtualHost&gt;</code> は、
特定のバーチャルホストに対してのみ適用されるディレクティブ群を括る
ために使われます。
バーチャルホストコンテキストで許可される全てのディレクティブを指定可能です。
サーバが、指定されたバーチャルホストにあるドキュメントへの
リクエストを受け付けた場合、
<directive type="section">VirtualHost</directive> セクションの中にある
ディレクティブが適用されます。
<var>Addr</var>は、次のものが利用できます:</p>
<ul>
<li>バーチャルホストの IP アドレス</li>
<li>バーチャルホストの IP に対応する完全なドメイン名 (非推奨)</li>
<li><code>NameVirtualHost *</code> と共に使われる、
すべての IP アドレスにマッチする文字 <code>*</code></li>
<li>IP ベースのバーチャルホストで他のものにマッチしない IP アドレス
のための文字列 <code>_default_</code></li>
</ul>
<example><title>例</title>
&lt;VirtualHost 10.1.2.3&gt;<br />
<indent>
ServerAdmin webmaster@host.example.com<br />
DocumentRoot /www/docs/host.example.com<br />
ServerName host.example.com<br />
ErrorLog logs/host.example.com-error_log<br />
TransferLog logs/host.example.com-access_log<br />
</indent>
&lt;/VirtualHost&gt;
</example>
<p>IPv6 アドレスはオプションのポート番号の指定と区別するために、
角括弧で括って指定する必要があります。次は IPv6 の例です:</p>
<example>
&lt;VirtualHost [2001:db8::a00:20ff:fea7:ccea]&gt;<br />
<indent>
ServerAdmin webmaster@host.example.com<br />
DocumentRoot /www/docs/host.example.com<br />
ServerName host.example.com<br />
ErrorLog logs/host.example.com-error_log<br />
TransferLog logs/host.example.com-access_log<br />
</indent>
&lt;/VirtualHost&gt;
</example>
<p>各々のバーチャルホストにはそれぞれ違う IP アドレス、ポート番号
もしくはホスト名に対応する必要があり、
1 番目の場合には複数のアドレスで IP パケットを受信できるように
サーバマシンを設定しなければなりません。
(もし、マシンが複数のネットワークインターフェースを持たない場合は、
(OSがサポートしていれば) <code>ifconfig alias</code> コマンドにより
達成できます)。</p>
<note><title>注意点</title>
<p><directive type="section">VirtualHost</directive> は Apache が Listen する
IP アドレスには影響を与え<strong>ません</strong>。
<directive module="mpm_common">Listen</directive> を
使って Apache が正しいアドレスを listen するように設定する必要があります。</p>
</note>
<p>IP ベースのバーチャルホストを使っている場合は、特別な名前
<code>_default_</code> を指定することができます。その場合は
そのバーチャルホストは他のバーチャルホストで明示的に挙げられていない
すべての IP アドレスにマッチします。<code>_default_</code> バーチャルホストが無い
場合に IP がバーチャルホストで指定されたものにマッチしないときは、
VirtualHost セクションの外のすべての定義からなる「主」サーバ設定が
使われます。(ただし、<directive
module="core">NameVirtualHost</directive> ディレクティブにマッチする
すべての IP アドレスは「主」サーバ設定も <code>_default_</code> バーチャルホストも
使わないことに注意してください。詳しくは <a
href="/vhosts/name-based.html">ネームベースのバーチャルホスト</a> を
参照してください。)</p>
<p><code>:port</code> といった形式で記述することにより、
マッチさせるポートを変更可能です。
この指定をしない場合には、主サーバ設定における
一番最後に <code><a href="#port">Port</a></code> で指定されたポートが
デフォルトとなります。
<code>:*</code> を指定することにより、
アドレス上の全てのポートにマッチします。(<code>_default_</code> のときは
これを使うことが推奨されています。)</p>
<p><directive type="section">VirtualHost</directive> ブロックごとに
<directive module="core">ServerName</directive> を指定すべきです。
もしなければ、メインサーバ設定の
<directive module="core">ServerName</directive>
が継承されます</p>
<note type="warning"><title>セキュリティ</title>
<p>サーバーを起動した以外のユーザがログファイルが保管されるディレクトリに
書き込み可能なときになぜセキュリティが破られる可能性があるかの詳細は
<a href="/misc/security_tips.html">セキュリティに関するコツ</a> を
参照してください。</p></note>
</usage>
<seealso><a href="/vhosts/">Apache バーチャルホスト説明書</a></seealso>
<seealso><a href="/dns-caveats.html">DNS と Apache に関する話</a></seealso>
<seealso><a href="/bind.html">Apache が使用するアドレスとポートの設定</a></seealso>
<seealso>リクエストを受けた際にこれらの異なるセクションが
組み合わされる方法については <a href="/sections.html">
&lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
</directivesynopsis>
</modulesynopsis>