blob: e8d61929b330bb27743fefcb50c9ab7db991655b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_dir - Apache HTTP サーバ</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
<p class="apache">Apache HTTP サーバ バージョン 2.0</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.0</a> > <a href="./">モジュール</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache モジュール mod_dir</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../ja/mod/mod_dir.html" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<div class="outofdate">This translation may be out of date. Check the
English version for recent changes.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>「最後のスラッシュ」のリダイレクトと、ディレクトリの
インデックスファイルを扱う機能を提供する</td></tr>
<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>dir_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_dir.c</td></tr></table>
<h3>概要</h3>
<p>ディレクトリインデックスは、次の二つのうちどちらかが利用されます:</p>
<ul>
<li>一つ目は、ユーザが作成したファイルを用いるもので、通常
<code>index.html</code> というファイル名を使います。このファイル名は、
<code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> ディレクティブで
指定することができます。この機能は <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>
モジュールで提供されます。</li>
<li>もう一つの方法は、
サーバによって自動的に生成されるディレクトリリストを用いる場合です。
この機能は、<code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>
モジュールにより提供されます。</li>
</ul>
<p>自動的なインデックス生成機能を削除 (もしくは交換)
できるように、この二つの機能は分離されています。</p>
<p>なお <code>http://servername/foo/dirname</code> という URL
へのリクエストがあった際に、<code>dirname</code>
というディレクトリがあれば、「最後にスラッシュをつけた形」の URL
へのリダイレクトを送出します。
ディレクトリへのアクセスはスラッシュで終わっている必要があり、
<code>mod_dir</code> は、<code>http://servername/foo/dirname/</code>
へのリダイレクトを送出することになります。</p>
</div>
<div id="quickview"><h3 class="directives">ディレクティブ</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#directoryindex">DirectoryIndex</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#directoryslash">DirectorySlash</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DirectoryIndex" id="DirectoryIndex">DirectoryIndex</a> <a name="directoryindex" id="directoryindex">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントがディレクトリをリクエストしたときに調べる
リソースのリスト</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DirectoryIndex
<var>local-url</var> [<var>local-url</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DirectoryIndex index.html</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dir</td></tr>
</table>
<p>
クライアントが、ディレクトリ名の最後に「/」
を指定してディレクトリインデックスを要求する場合に探すリソースのリストを
<code class="directive">DirectoryIndex</code> ディレクティブで設定します。
<var>Local-url</var>
は、リクエストされたディレクトリに対応する、サーバ上のドキュメントの
(% エンコードされた) URL で、普通はディレクトリ中のファイルの名前です。
複数の URL が設定された場合には、最初に見つかったものを返します。
それらが見つからず、<code>Indexes</code>
オプションがセットされている場合、ディレクトリのリストを生成します。
</p>
<div class="example"><h3>例</h3><p><code>
DirectoryIndex index.html
</code></p></div>
<p><code>http://myserver/docs/</code> へのアクセスがあり、
<code>http://myserver/docs/index.html</code>
が存在すれば、この URL が返されます。
もし存在しなければ、ディレクトリのリストが返されます。</p>
<p>注: ドキュメントが同じディレクトリ内に存在するは必要ありません。
</p>
<div class="example"><p><code>
DirectoryIndex index.html index.txt /cgi-bin/index.pl
</code></p></div>
<p>とした場合、<code>index.html</code> と <code>index.txt</code>
のどちらもディレクトリ内に存在しない場合、CGI スクリプト
<code>/cgi-bin/index.pl</code> が実行されます。</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DirectorySlash" id="DirectorySlash">DirectorySlash</a> <a name="directoryslash" id="directoryslash">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>パス末尾のスラッシュでリダイレクトするかどうかのオンオフをトグルさせる</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DirectorySlash On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DirectorySlash On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dir</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.51 以降</td></tr>
</table>
<p>要求のあった URL がディレクトリを指すかどうかを、
<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> が調整するべきかどうかを
<code class="directive">DirectorySlash</code>
ディレクティブで設定します。</p>
<p>典型的には、ユーザが末尾のスラッシュ無しでリソースへのリクエストを発行し、
そして、そのリソースがディレクトリを指していた場合、<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>
は、末尾にスラッシュを<em>付加</em>した上で同じリソースにリダイレクトさせます。
この挙動には幾つか理由があります:</p>
<ul>
<li>ユーザは、最終的にはリソースの別名 URL をリクエストすることになる。</li>
<li><code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> が期待通りに動く。<code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>
の生成するリンクはパスを出力しませんので、スラッシュがない場合は間違ったパスを
指してしまうことになります。</li>
<li><code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> は、
末尾にスラッシュがついているリクエストについて<em>のみ</em>評価される。</li>
<li>HTML ページの相対 URL 参照が正しく動作する。</li>
</ul>
<p>とはいえ、もしこういった効果を望まない、かつ、
上記のような理由が当てはまらない場合は、リダイレクトを次のようにしてオフにできます:</p>
<div class="example"><p><code>
# see security warning below!<br />
<Location /some/path><br />
<span class="indent">
DirectorySlash Off<br />
SetHandler some-handler<br />
</span>
</Location>
</code></p></div>
<div class="warning"><h3>セキュリティ警告</h3>
<p>末尾のスラッシュでのリダイレクトをオフにすると、結果的に情報漏洩を
招くことになるかもしれません。
<code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> が有効 (<code>Options +Indexes</code>) で、
<code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> が有効なリソース (例えば
<code>index.html</code>) を指していて、また、要求のあった URL に特別な
ハンドラが設定されていない場合を考えてみてください。
この場合末尾にスラッシュのついているリクエストに対しては <code>index.html</code>
ファイルが返されます。<strong>しかしスラッシュのないリクエストに対しては、
ディレクトリの内容一覧を返してしまいます。</strong></p>
</div>
</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../ja/mod/mod_dir.html" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div id="footer">
<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html>
|