1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!-- 4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 5 This file is generated from xml source: DO NOT EDIT 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 --> 8<title>mod_include - Apache HTTP サーバ</title> 9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 11<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" /> 12<script src="/style/scripts/prettify.min.js" type="text/javascript"> 13</script> 14 15<link href="/images/favicon.ico" rel="shortcut icon" /></head> 16<body> 17<div id="page-header"> 18<p class="menu"><a href="/mod/">モジュール</a> | <a href="/mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">用語</a> | <a href="/sitemap.html">サイトマップ</a></p> 19<p class="apache">Apache HTTP サーバ バージョン 2.4</p> 20<img alt="" src="/images/feather.gif" /></div> 21<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div> 22<div id="path"> 23<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.4</a> > <a href="./">モジュール</a></div> 24<div id="page-content"> 25<div id="preamble"><h1>Apache モジュール mod_include</h1> 26<div class="toplang"> 27<p><span>翻訳済み言語: </span><a href="/en/mod/mod_include.html" hreflang="en" rel="alternate" title="English"> en </a> | 28<a href="/fr/mod/mod_include.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 29<a href="/ja/mod/mod_include.html" title="Japanese"> ja </a></p> 30</div> 31<div class="outofdate">この日本語訳はすでに古くなっている 32 可能性があります。 33 最近更新された内容を見るには英語版をご覧下さい。 34 </div> 35<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>サーバがパースする html ドキュメント (Server Side Includes)</td></tr> 36<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 37<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>include_module</td></tr> 38<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_include.c</td></tr> 39<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0 から出力フィルタとして実装されました。</td></tr></table> 40<h3>概要</h3> 41 42 <p>このモジュールはファイルがクライアントに送られる前に処理するフィルタを 43 提供します。処理の内容は<dfn>要素</dfn>と呼ばれる特別な形式の SGML コメントにより 44 制御されます。これらの要素は条件分岐や、他のファイルや 45 プログラムの出力の取り込み、環境変数の設定や表示を行なうことが 46 できます。</p> 47</div> 48<div id="quickview"><h3 class="directives">ディレクティブ</h3> 49<ul id="toc"> 50<li><img alt="" src="/images/down.gif" /> <a href="#ssiendtag">SSIEndTag</a></li> 51<li><img alt="" src="/images/down.gif" /> <a href="#ssierrormsg">SSIErrorMsg</a></li> 52<li><img alt="" src="/images/down.gif" /> <a href="#ssietag">SSIETag</a></li> 53<li><img alt="" src="/images/down.gif" /> <a href="#ssilastmodified">SSILastModified</a></li> 54<li><img alt="" src="/images/down.gif" /> <a href="#ssilegacyexprparser">SSILegacyExprParser</a></li> 55<li><img alt="" src="/images/down.gif" /> <a href="#ssistarttag">SSIStartTag</a></li> 56<li><img alt="" src="/images/down.gif" /> <a href="#ssitimeformat">SSITimeFormat</a></li> 57<li><img alt="" src="/images/down.gif" /> <a href="#ssiundefinedecho">SSIUndefinedEcho</a></li> 58<li><img alt="" src="/images/down.gif" /> <a href="#xbithack">XBitHack</a></li> 59</ul> 60<h3>トピック</h3> 61<ul id="topics"> 62<li><img alt="" src="/images/down.gif" /> <a href="#enabling">Server-Side Includes を有効にする</a></li> 63<li><img alt="" src="/images/down.gif" /> <a href="#pathinfo">サーバサイドインクルード (SSI) での PATH_INFO</a></li> 64<li><img alt="" src="/images/down.gif" /> <a href="#elements">基本要素</a></li> 65<li><img alt="" src="/images/down.gif" /> <a href="#includevars">Include 変数</a></li> 66<li><img alt="" src="/images/down.gif" /> <a href="#substitution">変数置換</a></li> 67<li><img alt="" src="/images/down.gif" /> <a href="#flowctrl">フロー制御要素</a></li> 68</ul><h3>参照</h3> 69<ul class="seealso"> 70<li><code class="directive"><a href="/mod/core.html#options">Options</a></code></li> 71<li><code class="directive"><a href="/mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li> 72<li><a href="/filter.html">フィルタ</a></li> 73<li><a href="/howto/ssi.html">SSI チュートリアル</a></li> 74</ul><ul class="seealso"><li><a href="#comments_section">コメント</a></li></ul></div> 75<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 76<div class="section"> 77<h2><a name="enabling" id="enabling">Server-Side Includes を有効にする</a></h2> 78 79 80 <p>Server Side Includes は <code>INCLUDES</code> 81 <a href="/filter.html">フィルタ</a> により実装されています。 82 Server-side include のディレクティブを含むドキュメントの拡張子が 83 .shtml の場合、以下のディレクティブでは Apache がそれらを 84 パースして、その結果できるドキュメントに <code>text/html</code> の 85 MIME タイプを割り当てます:</p> 86 87 <div class="example"><p><code> 88 AddType text/html .shtml<br /> 89 AddOutputFilter INCLUDES .shtml 90 </code></p></div> 91 92 <p>以下のディレクティブは shtml ファイルのあるディレクトリで指定されている 93 必要があります (通常は <code class="directive"><a href="/mod/core.html#directory"><Directory></a></code> セクションで指定しますが、 94 <code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code> <code>Options</code> 95 が設定されていると、<code>.htaccess</code> ファイルに書くこともできます):</p> 96 97 <div class="example"><p><code> 98 Options +Includes 99 </code></p></div> 100 101 <p>互換性を保つために、<code>server-parsed</code> 102 <a href="/handler.html">ハンドラ</a> も INCLUDES フィルタを 103 有効にします。MIME タイプ <code>text/x-server-parsed-html</code> や 104 <code>text/x-server-parsed-html3</code> のドキュメントに対しても 105 Apache は INCLUDES フィルタを有効にします (出力されるものは 106 MIME タイプ <code>text/html</code> になります)。</p> 107 108 <p>詳しい情報は <a href="/howto/ssi.html">Tutorial on Server Side Includes</a>.</p> 109</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 110<div class="section"> 111<h2><a name="pathinfo" id="pathinfo">サーバサイドインクルード (SSI) での PATH_INFO</a></h2> 112 113 114 <p>SSI で処理されるファイルはデフォルトでは <code>PATH_INFO</code> 115 (後続のパス名情報) 116 付きのリクエストを受け入れなくなりました。<code class="directive"><a href="/mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> ディレクティブで 117 <code>PATH_INFO</code> 付きのリクエストを受け入れるようにサーバを 118 設定できます。</p> 119</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 120<div class="section"> 121<h2><a name="elements" id="elements">基本要素</a></h2> 122 <p>ドキュメントは、SGML のコメントとして特別なコマンドが埋め込まれた 123 HTML ドキュメントとしてパースされます。コマンドの構文は次のように 124 なっています:</p> 125 126 <div class="example"><p><code> 127 <!--#<var>element</var> <var>attribute</var>=<var>value</var> 128 <var>attribute</var>=<var>value</var> ... --> 129 </code></p></div> 130 131 <p>値 <span class="transnote">(<em>訳注:</em> value)</span> は二重引用符で囲むのが一般的ですが、 132 シングルクオート (') とバッククオート (`) も使用できます。 133 多くのコマンドは属性-値 <span class="transnote">(<em>訳注:</em> attribute-value)</span> の組を一つだけ指定できます。 134 コメントの終わり (<code>--></code>) 135 の前には、SSI の句の一部だと解釈されないようにするために空白を 136 入れてください。最初の <code><!--#</code> はまとめて<em>一つ</em>の 137 句で、空白をふくんではいけないこと注意してください。</p> 138 139 <p>要素 <span class="transnote">(<em>訳注:</em> element)</span> を以下の表に示します。</p> 140 141 <table class="bordered"> 142 <tr><th>要素</th><th>説明</th></tr> 143 <tr><td><code><a href="#element.config">config</a></code></td> 144 <td>configure output formats</td></tr> 145 <tr><td><code><a href="#element.echo">echo</a></code></td> 146 <td>print variables</td></tr> 147 <tr><td><code><a href="#element.exec">exec</a></code></td> 148 <td>execute external programs</td></tr> 149 <tr><td><code><a href="#element.fsize">fsize</a></code></td> 150 <td>print size of a file</td></tr> 151 <tr><td><code><a href="#element.flastmod">flastmod</a></code></td> 152 <td>print last modification time of a file</td></tr> 153 <tr><td><code><a href="#element.include">include</a></code></td> 154 <td>include a file</td></tr> 155 <tr><td><code><a href="#element.printenv">printenv</a></code></td> 156 <td>print all available variables</td></tr> 157 <tr><td><code><a href="#element.set">set</a></code></td> 158 <td>set a value of a variable</td></tr> 159 </table> 160 161 <p>SSI 要素は <code class="module"><a href="/mod/mod_include.html">mod_include</a></code> 以外のモジュールで 162 定義されることもあります。実際、 163 <code><a href="#element.exec">exec</a></code> 要素は 164 <code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code> で提供されていて、このモジュールが 165 ロードされる場合にのみ利用可能となります。</p> 166 167 <h3><a name="element.config" id="element.config">config 要素</a></h3> 168 <p>次のコマンドは解析の様々な側面を制御します。属性は次の通りです。</p> 169 170 <dl> 171 <dt><code>echomsg</code> (<em>Apache 2.1 以降</em>)</dt> 172 <dd>指定される値は、<code><a href="#element.echo">echo</a></code> 173 要素が未定義の変数をエコーしようとした際に、 174 クライアントに送られるメッセージになります。 175 <code class="directive"><a href="#ssiundefinedecho">SSIUndefinedEcho</a></code> 176 ディレクティブを上書きします。</dd> 177 178 <dt><code>errmsg</code></dt> 179 <dd>この値が、ドキュメントの解析中にエラーが発生した時に 180 クライアントに送信されるメッセージになります。 181 <code class="directive"><a href="#ssierrormsg">SSIErrorMsg</a></code> 182 ディレクティブを上書きします。</dd> 183 184 <dt><code>sizefmt</code></dt> 185 <dd>この値は、ファイルのサイズを表示する際に使用する 186 フォーマットを設定します。値は バイトカウントの 187 <code>bytes</code>か、Kb や Mb を優先的に使用する 188 <code>abbrec</code> (例えば 1024 バイトは "1K" と表示されます) 189 です。</dd> 190 191 <dt><code>timefmt</code></dt> 192 <dd>この値は <code>strftime(3)</code> ライブラリルーチンが 193 日時をプリントする際に用いられます。</dd> 194 </dl> 195 196 197 <h3><a name="element.echo" id="element.echo">echo 要素</a></h3> 198 <p>このコマンドは以下で定義されている <a href="#includevars">include 199 変数</a> を表示します。変数が設定されていない場合は <code class="directive"><a href="#ssiundefinedecho">SSIUndefinedEcho</a></code> ディレクティブで 200 決定される結果となります。日付はその時点での <code>timefmt</code> に従って 201 表示されます。属性は次の通りです。</p> 202 203 <dl> 204 <dt><code>var</code></dt> 205 <dd>値は表示する変数の名前です。</dd> 206 207 <dt><code>encoding</code></dt> 208 <dd><p>変数を出力する前に、変数中の特別文字をどのようにエンコードするかを 209 指定します。<code>none</code> に設定されていると、エンコードは行なわれません。 210 <code>url</code> に設定されていると、URL エンコード (%-エンコードとも 211 呼ばれています。これはリンク等の URL の使用に適切です) が 212 行なわれます。<code>echo</code> 要素の開始時は、デフォルトは 213 <code>entity</code> に設定されています。これはエンティティエンコード 214 (段落やテキストなどのブロックレベルの HTML エレメントのコンテキストに 215 適しています) を行ないます。これは <code>encoding</code> 属性 216 を加えることで変更できます。変更は次の <code>encoding</code> 属性か、 217 要素の終了まで効力を持ちます。</p> 218 219 <p><code>encoding</code> 属性はエンコードの変更をしたい <code>var</code> 220 の<em>前に</em> ある必要があることに注意してください。 221 また、ISO-8859-1 エンコーディングで 222 定義されている特別な文字だけがエンコードされます。 223 別の文字のエンコーディングの場合は、このエンコーディングは 224 望みの結果にならないかもしれません。</p> 225 226 <div class="warning"> 227 クロスサイトスクリプティングの問題を避けるために、 228 <em>常に</em>ユーザからのデータをエンコードすべきです。 229 </div> 230 </dd> 231 </dl> 232 233 234 <h3><a name="element.exec" id="element.exec">exec 要素</a></h3> 235 <p><code>exec</code> コマンドは指定されたシェルコマンドや CGI スクリプトを 236 実行します。<code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code> がサーバに組み込まれているいなければ 237 なりません。<code class="directive"><a href="/mod/core.html#option">Option</a></code> 238 <code>IncludesNOEXEC</code> はこのコマンドを無効にします。 239 使用可能な属性は次の通りです。</p> 240 241 <dl> 242 <dt><code>cgi</code></dt> 243 <dd><p>値は (%-エンコードされた) URL を指定します。パスが 244 スラッシュ (/) で始まらないときは、ドキュメントからの 245 相対パスとして扱われます。このパスで参照されているドキュメントは 246 サーバが CGI スクリプトとして扱っていなくても CGI スクリプトとして 247 起動されます。ただし、スクリプトのあるディレクトリでは 248 (<code class="directive"><a href="/mod/mod_alias.html#scriptalias">ScriptAlias</a></code> 249 や <code class="directive"><a href="/mod/core.html#option">Option</a></code> <code>ExecCGI</code> 250 によって) CGI スクリプトの使用が許可されている必要があります。</p> 251 252 <p>CGI スクリプトには、クライアントからの元々のリクエストの 253 <code>PATH_INFO</code> とクエリー文字列 (<code>QUERY_STRING</code>) が渡されます。 254 これらは URL パスとして特定<em>できない</em>ものです。 255 スクリプトは標準 <a href="mod_cgi.html">CGI</a> 環境に加えて、include 変数を 256 使用することができます。</p> 257 258 <div class="example"><h3>例</h3><p><code> 259 <!--#exec cgi="/cgi-bin/example.cgi" --> 260 </code></p></div> 261 262 <p>スクリプトが、出力の代わりに <code>Location:</code> ヘッダを返すと、 263 HTML のアンカー <span class="transnote">(<em>訳注:</em> リンク)</span> に変換されます。</p> 264 265 <p><code>exec cgi</code> よりも、 266 <code><a href="#includevirtual">include virtual</a></code> 267 の方を使うようにしてください。特に、CGI への追加の引数を 268 クエリー文字列を使って渡すことは <code>exec cgi</code> は 269 できませんが、<code>include virtual</code> は以下のようにして 270 可能です。</p> 271 272 <div class="example"><p><code> 273 <!--#include virtual="/cgi-bin/example.cgi?argument=value" --> 274 </code></p></div> 275 </dd> 276 277 <dt><code>cmd</code></dt> 278 <dd><p>サーバは指定された文字列を <code>/bin/sh</code> を使って 279 実行します。コマンドは通常の CGI 変数に加えて <a href="#includevars">include 変数</a>も使うことができます。</p> 280 281 <p>ほとんどの場合、<code><a href="#includevirtual">#include 282 virtual</a></code> を使う方が <code>#exec cgi</code> や <code>#exec 283 cmd</code> を使うよりも良いです。前者 (<code>#include virtual</code>) 284 は標準の Apache のサブリクエスト機構を使ってファイルやスクリプトの 285 出力を取り込みます。 286 こちらの方がよくテストされメンテナンスされた方法です。</p> 287 288 <p>さらに、Win32 のようないくつかのプラットフォームや、<a href="/suexec.html">suexec</a> を使っている unix では、 289 <code>exec</code> ディレクティブのコマンドに 290 引数を渡したり、コマンドに空白を入れることはできません。 291 ですから、以下のものは unix の suexec でない設定では動作しますが、 292 Win32 や suexec を使っている unix では期待した結果にはなりません:</p> 293 294 <div class="example"><p><code> 295 <!--#exec cmd="perl /path/to/perlscript arg1 arg2" --> 296 </code></p></div> 297 </dd> 298 </dl> 299 300 301 <h3><a name="element.fsize" id="element.fsize">fsize 要素</a></h3> 302 <p>このコマンドは指定されたファイルの大きさを <code>sizefmt</code> の 303 書式指定に基づいて出力します。属性は次の通りです。</p> 304 305 <dl> 306 <dt><code>file</code></dt> 307 <dd>値は解析されているドキュメントの存在するディレクトリからの 308 相対パスです。</dd> 309 310 <dt><code>virtual</code></dt> 311 <dd> 値は (% エンコードされた) URL-path です。スラッシュ (/) で 312 始まらないときはドキュメントからの相対パスとして扱われます。 313 CGI の出力のサイズはプリント<em>されません</em>。CGI 314 スクリプト自体のサイズがプリントされることに注意してください。</dd> 315 </dl> 316 317 318 <h3><a name="element.flastmod" id="element.flastmod">flastmod 要素</a></h3> 319 <p>このコマンドは指定されたファイルの最終修正時刻を 320 <code>timefmt</code> 書式指定に従って表示します。 321 指定可能な属性は <code>fsize</code> コマンドと同じです。</p> 322 323 324 <h3><a name="element.include" id="element.include">include 要素</a></h3> 325 <p>このコマンドは別の文書やファイルのテキストを解析しているファイルに 326 挿入します。挿入されるファイルはアクセス制御の管理下にあります。 327 解析しているファイルの存在するディレクトリに 328 <a href="core.html#options">Option</a> <code>IncludesNOEXEC</code> 329 が設定されている場合、text <a class="glossarylink" href="/glossary.html#mime-type" title="用語集を参照">MIME タイプ</a> 330 (<code>text/plain</code>, <code>text/html</code> 等) 331 のドキュメントのみインクルードが行なわれます。 332 その他の場合は、クエリー文字列も含め、コマンドで指定された 333 完全な URL を使って普通に CGI スクリプトが呼び出されます。</p> 334 335 <p>属性が文書の位置を指定します。include コマンドに与えられたそれぞれの 336 属性に対して挿入作業が行なわれます。有効な属性は次の通りです。</p> 337 338 <dl> 339 <dt><code>file</code></dt> 340 <dd>値は解析されているドキュメントの存在するディレクトリからの 341 相対パスです。 342 <code>../</code> を含んでいたり、絶対パスを指定したりはできません。 343 ですから、ドキュメントルートの外にあるファイルや、ディレクトリ構造で 344 上位にあるファイルを挿入することはできません。 345 常にこの属性よりは、<code>virtual</code> 属性を使うようにしてください。 346 </dd> 347 348 <dt><code><a id="includevirtual" name="includevirtual">virtual</a></code></dt> 349 <dd><p>値は解析されているドキュメントからの (% エンコードされた) URL 350 です。URL にはスキームやホスト名を含めることはできません。パスと、 351 もしあればクエリー文字列を指定できるだけです。スラッシュ (/) から 352 始まらない場合は、ドキュメントからの相対パスとして扱われます。</p> 353 354 <p>URL は属性から作られ、その URL をクライアントがアクセスしたときに 355 出力される内容が解析後の出力に含められます。ですから、挿入される 356 ファイルは入れ子構造にすることができます。</p> 357 358 <p>指定された URL が CGI プログラムであった場合は、 359 プログラムが実行され、その出力が解析しているファイル中の 360 ディレクティブがあった位置に挿入されます。CGI の url に 361 クエリー URL を入れることもできます。</p> 362 363 <div class="example"><p><code> 364 <!--#include virtual="/cgi-bin/example.cgi?argument=value" --> 365 </code></p></div> 366 367 <p>HTML ドキュメントに CGI プログラムの出力を含める方法としては、 368 <code>include virtual</code> の方が <code>exec cgi</code> よりも 369 好ましい方法です。</p> 370 371 <p><code class="directive"><a href="/mod/mod_request.html#keptbodysize">KeptBodySize</a></code> 372 ディレクティブが設定されていて、かつ、この対象ファイルが 373 <span class="transnote">(<em>訳注:</em> POST リクエストを)</span>受け入れできるなら、 374 POST リクエストを受け取ってサブリクエストを発行する際にも 375 POST リクエストが渡されます。 376 このディレクティブが設定されていない場合は、 377 サブリクエストは GET リクエストとして処理されます。</p> 378 379 </dd> 380 </dl> 381 382 383 <h3><a name="element.printenv" id="element.printenv">printenv 要素</a></h3> 384 <p>これは、存在するすべての変数とその値を表示します。Apache 1.3.12 から、 385 特別な文字は出力される前にエンティティエンコード (詳細は <a href="#element.echo"><code>echo</code></a> 要素を参照) 386 されるようになりました。属性はありません。</p> 387 388 <div class="example"><h3>例</h3><p><code> 389 <!--#printenv --> 390 </code></p></div> 391 392 393 <h3><a name="element.set" id="element.set">set 要素</a></h3> 394 <p>これは変数の値を設定します。属性は次の通りです。</p> 395 396 <dl> 397 <dt><code>var</code></dt> 398 <dd>設定する変数の名前。</dd> 399 400 <dt><code>value</code></dt> 401 <dd>変数に設定する値。</dd> 402 </dl> 403 404 <div class="example"><h3>例</h3><p><code> 405 <!--#set var="category" value="help" --> 406 </code></p></div> 407 408</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 409<div class="section"> 410<h2><a name="includevars" id="includevars">Include 変数</a></h2> 411 412 413 <p>標準 CGI 環境の変数に加えて、<code>echo</code> コマンドや、 414 <code>if</code> や <code>elif</code>, それにドキュメントから呼び出される 415 すべてのプログラムから使用できる変数があります。</p> 416 417 <dl> 418 <dt><code>DATE_GMT</code></dt> 419 <dd>グリニッジ標準時による現在時刻。</dd> 420 421 <dt><code>DATE_LOCAL</code></dt> 422 <dd>ローカルの標準時による現在時刻。</dd> 423 424 <dt><code>DOCUMENT_NAME</code></dt> 425 <dd>ユーザがリクエストした (ディレクトリを除いた) ファイル名。</dd> 426 427 <dt><code>DOCUMENT_URI</code></dt> 428 <dd>ユーザがリクエストした (% エンコードされた) URL-path。 429 挿入ファイルが入れ子になっている場合は、解析されている 430 ドキュメントの URL では<em>ない</em>ことに注意してください。</dd> 431 432 <dt><code>LAST_MODIFIED</code></dt> 433 <dd>ユーザがリクエストしたドキュメントの最終修正時刻。</dd> 434 435 <dt><code>QUERY_STRING_UNESCAPED</code></dt> 436 <dd>クエリー文字列がある場合、この変数には (%-デコードされた) 437 クエリー文字列が代入されていて、shell で使用できるように 438 <em>エスケープ</em>されています (<code>&</code> 439 といった特殊文字にはバックスラッシュが直前に置かれます)。</dd> 440 </dl> 441</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 442<div class="section"> 443<h2><a name="substitution" id="substitution">変数置換</a></h2> 444 445 <p>変数置換はたいていの場合 SSI ディレクティブの引数として妥当な場所にある 446 引用符で囲まれた文字列中で行なわれます。これに該当するものには、 447 <code>config</code>, 448 <code>exec</code>, <code>flastmod</code>, <code>fsize</code>, 449 <code>include</code>, <code>echo</code>, <code>set</code> の 450 各ディレクティブと、条件分岐用のオペレータへの引数があります。 451 ドル記号はバックスラッシュを使うことで使うことができます:</p> 452 453 <div class="example"><p><code> 454 <!--#if expr="$a = \$test" --> 455 </code></p></div> 456 457 <p>変数名としてみなされる文字列の中で変数への参照を置換する必要があるときは、 458 シェルでの変数置換のように、中括弧で括ることで区別することができます:</p> 459 460 <div class="example"><p><code> 461 <!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" --> 462 </code></p></div> 463 464 <p>この例では、<code>REMOTE_HOST</code> が 465 "<code>X</code>" で <code>REQUEST_METHOD</code> が 466 "<code>Y</code>" のときに変数 <code>Zed</code> を "<code>X_Y</code>" 467 に設定します。</p> 468 469 <p>以下の例では、<code>DOCUMENT_URI</code> が <code>/foo/file.html</code> 470 のときに "in foo" を、<code>/bar/file.html</code> のときに "in bar" を、 471 どちらでもないときには "in neither" を表示します。</p> 472 473 <div class="example"><p><code> 474 <!--#if expr='"$DOCUMENT_URI" = "/foo/file.html"' --><br /> 475 <span class="indent"> 476 in foo<br /> 477 </span> 478 <!--#elif expr='"$DOCUMENT_URI" = "/bar/file.html"' --><br /> 479 <span class="indent"> 480 in bar<br /> 481 </span> 482 <!--#else --><br /> 483 <span class="indent"> 484 in neither<br /> 485 </span> 486 <!--#endif --> 487 </code></p></div> 488</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 489<div class="section"> 490<h2><a name="flowctrl" id="flowctrl">フロー制御要素</a></h2> 491 492 493 <p>基本的なフローコントロール要素は次の通りです。</p> 494 495 <div class="example"><p><code> 496 <!--#if expr="<var>test_condition</var>" --><br /> 497 <!--#elif expr="<var>test_condition</var>" --><br /> 498 <!--#else --><br /> 499 <!--#endif --> 500 </code></p></div> 501 502 <p><code>if</code> 要素はプログラミング言語の 503 if 文と同じように動作します。条件が評価され、結果が真であれば次の 504 <code>elif</code> か <code>else</code> か <code>endif</code> 505 要素までの文字列が出力に挿入されます。</p> 506 507 <p><code>elif</code> や <code>else</code> 文は <var>test_condition</var> 508 が偽のときにテキストを出力に挿入するために使われます。 509 これらの要素はあってもなくても構いません。</p> 510 511 <p><code>endif</code> 要素は <code>if</code> 512 要素を終了させます。この要素は必須です。</p> 513 514 <p><var>test_condition</var> は以下のどれかです:</p> 515 516 <dl> 517 <dt><code><var>string</var></code></dt> 518 <dd><var>string</var> が空でない場合に真です</dd> 519 520 <dt><code><var>-A string</var></code></dt> 521 <dd><p><span class="transnote">(<em>訳注:</em> httpd の)</span>設定を検査して、 522 文字列で指定した URL にアクセスできる場合 true で、 523 そうでなければ false になります。 524 <code class="directive">SSIAccessEnable</code> が有効のときにのみ 525 この検査は行われます。 526 承認されていないユーザからは隠しておきたい URL についての情報、 527 たとえば URL へのリンクなどがある場合に、便利です。 528 検査では URL へアクセスできるかの権限のみが行われ、URL 529 が存在するかどうかについては検査されないことに注意してください。</p> 530 531 <div class="example"><h3>Example</h3><p><code> 532 <!--#if expr="-A /private" --><br /> 533 <span class="indent"> 534 Click <a href="/private">here</a> to access private 535 information.<br /> 536 </span> 537 <!--#endif --> 538 </code></p></div> 539 </dd> 540 541 <dt><code><var>string1</var> = <var>string2</var><br /> 542 <var>string1</var> == <var>string2</var><br /> 543 <var>string1</var> != <var>string2</var></code></dt> 544 545 <dd><p><var>string1</var> と <var>string2</var> を比較します。 546 <var>string2</var> が <code>/<var>string</var>/</code> 547 という形式であれば、正規表現として比較されます。正規表現は 548 <a href="http://www.pcre.org">PCRE</a> エンジンで実装されていて、 549 <a href="http://www.perl.com">perl 5</a> と同じ構文を使用します。 550 <code>==</code> は単に <code>=</code> の別名で、まったく同じ動作を 551 します。</p> 552 553 <p>正のマッチング (<code>=</code> または <code>==</code>) の場合は、 554 正規表現でグループ分けされたパーツをキャプチャすることができます。 555 キャプチャされた部分は特殊変数 <code>$1</code> .. <code>$9</code> 556 に格納されます。</p> 557 558 <div class="example"><h3>例</h3><p><code> 559 <!--#if expr="$QUERY_STRING = /^sid=([a-zA-Z0-9]+)/" --><br /> 560 <span class="indent"> 561 <!--#set var="session" value="$1" --><br /> 562 </span> 563 <!--#endif --> 564 </code></p></div> 565 </dd> 566 567 <dt><code><var>string1</var> < <var>string2</var><br /> 568 <var>string1</var> <= <var>string2</var><br /> 569 <var>string1</var> > <var>string2</var><br /> 570 <var>string1</var> >= <var>string2</var></code></dt> 571 572 <dd><var>string1</var> と <var>string2</var> を比較します。 573 <em>文字列として</em>比較される (<code>strcmp(3)</code> を使用) 574 ことに注意してください。ですから、文字列 "100" は "20" 575 よりも小さいことになります。</dd> 576 577 <dt><code>( <var>test_condition</var> )</code></dt> 578 <dd><var>test_condition</var> が真のとき、真</dd> 579 580 <dt><code>! <var>test_condition</var></code></dt> 581 <dd><var>test_condition</var> が偽のとき、真</dd> 582 583 <dt><code><var>test_condition1</var> && 584 <var>test_condition2</var></code></dt> 585 <dd><var>test_condition1</var> かつ 586 <var>test_condition2</var> が真のとき、真</dd> 587 588 <dt><code><var>test_condition1</var> || 589 <var>test_condition2</var></code></dt> 590 <dd><var>test_condition1</var> または 591 <var>test_condition2</var> が真のとき、真</dd> 592 </dl> 593 594 <p>"<em>=</em>" と "<em>!=</em>" の方が "<em>&&</em>" より 595 きつく束縛します。"<em>!</em>" の束縛が一番きつくなっています。 596 ですから以下の二つは等価です:</p> 597 598 <div class="example"><p><code> 599 <!--#if expr="$a = test1 && $b = test2" --><br /> 600 <!--#if expr="($a = test1) && ($b = test2)" --> 601 </code></p></div> 602 603 <p>真偽値オペレータ <code>&&</code> と <code>||</code> 604 は同じ優先度です。 605 これらのオペレータで一方により強い優先度をつけたい場合には、 606 括弧を使う必要があります。</p> 607 608 <p>変数やオペレータとして認識されないものはすべて文字列として 609 扱われます。文字列は引用符で囲むこともできます: <code>'string'</code> 610 のように。引用符で囲まれていない文字列には空白 (スペースとタブ) 611 を含めることはできません。それらは変数などの句を分離するために 612 使われているからです。複数の文字列が続いているときは、 613 空白を間に入れて一つにくっつけられます。ですから、</p> 614 615 <div class="example"><p><code><var>string1</var> <var>string2</var></code> は <code><var>string1</var> <var>string2</var></code> になります。<br /> 616 <br /> 617 また、<br /> 618 <br /> 619 <code>'<var>string1</var> <var>string2</var>'</code> は <code><var>string1</var> <var>string2</var></code> 620 になります。</p></div> 621 622 <div class="note"><h3>真偽値表現の最適化</h3> 623 <p>式がもっと複雑になり、処理の速度低下が顕著になった場合は、 624 評価ルールに従って最適化してみると良いでしょう。</p> 625 <ul> 626 <li>評価は左から右に向かって行われます。</li> 627 <li>二値真偽値オペレータ (<code>&&</code> と <code>||</code>) 628 は、出来る限り短絡評価されます。つまり結果として上記のルールは、 629 <code class="module"><a href="/mod/mod_include.html">mod_include</a></code> が左の評価式を評価します。 630 左側で結果を十分決定できる場合は、評価はそこで停止します。 631 そうでない場合は右側を評価して、左と右の両方から結果を計算します。</li> 632 <li>短絡評価は評価の対象に正規表現が含まれる場合、オフになります。 633 後方参照する変数 (<code>$1</code> .. <code>$9</code>) 634 を埋めるために、実際に評価する必要があるからです。</li> 635 </ul> 636 <p>特定の式がどのように扱われるかを知りたい場合は、 637 <code>-DDEBUG_INCLUDE</code> コンパイラオプションを付けて 638 <code class="module"><a href="/mod/mod_include.html">mod_include</a></code> をリコンパイルすると良いでしょう。 639 これにより、全てのパースされた式に対して、字句解析情報、 640 パースツリーと、 641 それがどのようにクライアントに送られた出力まで評価されたかを 642 挿入します。</p> 643 </div> 644 645 <div class="note"><h3>正規表現内での / のエスケープ</h3> 646 <p>正規表現内でデリミタとして扱いたくない / があれば、それらは全て 647 エスケープしなければなりません。 648 正規表現の意味がどうであろうとエスケープは必要です。</p> 649 </div> 650</div> 651<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 652<div class="directive-section"><h2><a name="SSIEndTag" id="SSIEndTag">SSIEndTag</a> <a name="ssiendtag" id="ssiendtag">ディレクティブ</a></h2> 653<table class="directive"> 654<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>include 要素を終了させる文字列</td></tr> 655<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSIEndTag <var>tag</var></code></td></tr> 656<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSIEndTag "-->"</code></td></tr> 657<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> 658<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 659<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> 660<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.30 以降で利用可能</td></tr> 661</table> 662 <p>このディレクティブは <code class="module"><a href="/mod/mod_include.html">mod_include</a></code> が探す、 663 include 要素の終了を示す文字列を変更します。</p> 664 665 <div class="example"><h3>例</h3><p><code> 666 SSIEndTag "%>" 667 </code></p></div> 668 669 670<h3>参照</h3> 671<ul> 672<li><code class="directive"><a href="#ssistarttag">SSIStartTag</a></code></li> 673</ul> 674</div> 675<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 676<div class="directive-section"><h2><a name="SSIErrorMsg" id="SSIErrorMsg">SSIErrorMsg</a> <a name="ssierrormsg" id="ssierrormsg">ディレクティブ</a></h2> 677<table class="directive"> 678<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>SSI のエラーがあったときに表示されるエラーメッセージ</td></tr> 679<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSIErrorMsg <var>message</var></code></td></tr> 680<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSIErrorMsg "[an error occurred while processing this 681directive]"</code></td></tr> 682<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> 683<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> 684<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 685<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> 686<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>バージョン 2.0.30 以降で使用可能</td></tr> 687</table> 688 <p><code class="directive">SSIErrorMsg</code> ディレクティブは <code class="module"><a href="/mod/mod_include.html">mod_include</a></code> 689 がエラーが起こったときに表示するメッセージを変更します。プロダクションサーバでは 690 メッセージがユーザに表示されないようにするために 691 デフォルトエラーメッセージを <code>"<!-- Error -->"</code> 692 に変えるというようなことを考えるかもしれません。</p> 693 694 <p>このディレクティブは <code><!--#config 695 errmsg=<var>message</var> --></code> 要素と同じ効果になります。</p> 696 697 <div class="example"><h3>例</h3><p><code> 698 SSIErrorMsg "<!-- Error -->" 699 </code></p></div> 700 701</div> 702<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 703<div class="directive-section"><h2><a name="SSIETag" id="SSIETag">SSIETag</a> <a name="ssietag" id="ssietag">ディレクティブ</a></h2> 704<table class="directive"> 705<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Controls whether ETags are generated by the server.</td></tr> 706<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSIETag on|off</code></td></tr> 707<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSIETag off</code></td></tr> 708<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> 709<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 710<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> 711<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in version 2.2.15 and later.</td></tr> 712</table><p>このディレクティブの解説文書は 713 まだ翻訳されていません。英語版をご覧ください。 714 </p></div> 715<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 716<div class="directive-section"><h2><a name="SSILastModified" id="SSILastModified">SSILastModified</a> <a name="ssilastmodified" id="ssilastmodified">ディレクティブ</a></h2> 717<table class="directive"> 718<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Controls whether <code>Last-Modified</code> headers are generated by the 719server.</td></tr> 720<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSILastModified on|off</code></td></tr> 721<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSILastModified off</code></td></tr> 722<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> 723<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 724<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> 725<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in version 2.2.15 and later.</td></tr> 726</table><p>このディレクティブの解説文書は 727 まだ翻訳されていません。英語版をご覧ください。 728 </p></div> 729<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 730<div class="directive-section"><h2><a name="SSILegacyExprParser" id="SSILegacyExprParser">SSILegacyExprParser</a> <a name="ssilegacyexprparser" id="ssilegacyexprparser">ディレクティブ</a></h2> 731<table class="directive"> 732<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Enable compatibility mode for conditional expressions.</td></tr> 733<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSILegacyExprParser on|off</code></td></tr> 734<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSILegacyExprParser off</code></td></tr> 735<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr> 736<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 737<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> 738<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in version 2.3.13 and later.</td></tr> 739</table><p>このディレクティブの解説文書は 740 まだ翻訳されていません。英語版をご覧ください。 741 </p></div> 742<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 743<div class="directive-section"><h2><a name="SSIStartTag" id="SSIStartTag">SSIStartTag</a> <a name="ssistarttag" id="ssistarttag">ディレクティブ</a></h2> 744<table class="directive"> 745<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>include 要素を開始する文字列</td></tr> 746<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSIStartTag <var>tag</var></code></td></tr> 747<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSIStartTag "<!--#"</code></td></tr> 748<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr> 749<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 750<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> 751<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>バージョン 2.0.30 以降で使用可能</td></tr> 752</table> 753 754 <p>このディレクティブは <code class="module"><a href="/mod/mod_include.html">mod_include</a></code> が探す、include 755 要素の開始を示す文字列を変更します。</p> 756 757 <p>二つのサーバで (もしかすると別々の段階で) ファイルの出力を解析していて、 758 それぞれに違うコマンドを処理させたい、 759 というようなときにこのオプションを使います。</p> 760 761 <div class="example"><h3>例</h3><p><code> 762 SSIStartTag "<%"<br /> 763 SSIEndTag "%>" 764 </code></p></div> 765 766 <p>上の例のように対応する 767 <code class="directive"><a href="#ssiendtag">SSIEndTag</a></code> を併せて使うと、 768 下に示す例のように SSI ディレクティブを使えます:</p> 769 770 <div class="example"><h3>違う開始と終了のタグを使った SSI ディレクティブ</h3><p><code> 771 <%printenv %> 772 </code></p></div> 773 774<h3>参照</h3> 775<ul> 776<li><code class="directive"><a href="#ssiendtag">SSIEndTag</a></code></li> 777</ul> 778</div> 779<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 780<div class="directive-section"><h2><a name="SSITimeFormat" id="SSITimeFormat">SSITimeFormat</a> <a name="ssitimeformat" id="ssitimeformat">ディレクティブ</a></h2> 781<table class="directive"> 782<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>日付けを現す文字列の書式を設定する</td></tr> 783<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSITimeFormat <var>formatstring</var></code></td></tr> 784<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"</code></td></tr> 785<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> 786<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> 787<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 788<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> 789<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.30 以降で使用可能</td></tr> 790</table> 791<p>このディレクティブは <code>DATE</code> 環境変数を echo して日付を現す文字列が 792 表示されるときの書式を変更します。<var>formatstring</var> は 793 C 標準ライブラリの <code>strftime(3)</code> と同じ形式です。</p> 794 795 <p>このディレクティブは <code><!--#config 796 timefmt=<var>formatstring</var> --></code> 要素と同じ効果になります。</p> 797 798 <div class="example"><h3>例</h3><p><code> 799 SSITimeFormat "%R, %B %d, %Y" 800 </code></p></div> 801 802 <p>上のディレクティブでは、日付は "22:26, June 14, 2002" という 803 形式で表示されます。</p> 804 805</div> 806<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 807<div class="directive-section"><h2><a name="SSIUndefinedEcho" id="SSIUndefinedEcho">SSIUndefinedEcho</a> <a name="ssiundefinedecho" id="ssiundefinedecho">ディレクティブ</a></h2> 808<table class="directive"> 809<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>未定義の変数が echo されたときに表示される文字列</td></tr> 810<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SSIUndefinedEcho <var>string</var></code></td></tr> 811<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SSIUndefinedEcho "(none)"</code></td></tr> 812<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> 813<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>All</td></tr> 814<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 815<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> 816<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.34 以降で利用可能</td></tr> 817</table> 818 <p>このディレクティブは変数が定義されていないにも関わらず 819 "echo" されたときに <code class="module"><a href="/mod/mod_include.html">mod_include</a></code> 820 が表示する文字列を変更します。</p> 821 822 <div class="example"><h3>例</h3><p><code> 823 SSIUndefinedEcho "<!-- undef -->" 824 </code></p></div> 825 826</div> 827<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 828<div class="directive-section"><h2><a name="XBitHack" id="XBitHack">XBitHack</a> <a name="xbithack" id="xbithack">ディレクティブ</a></h2> 829<table class="directive"> 830<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>実行ビットが設定されたファイルの SSI ディレクティブを 831解析する</td></tr> 832<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>XBitHack on|off|full</code></td></tr> 833<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>XBitHack off</code></td></tr> 834<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr> 835<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Options</td></tr> 836<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr> 837<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_include</td></tr> 838</table> 839 <p><code class="directive">XBitHack</code> ディレクティブは通常の HTML 840 ドキュメントの解析を制御します。このディレクティブは <a class="glossarylink" href="/glossary.html#mime-type" title="用語集を参照">MIME タイプ</a> 841 <code>text/html</code> と関連付けられているファイルにのみ影響します。 842 <code class="directive">XBitHack</code> は以下の値をとることができます。</p> 843 844 <dl> 845 <dt><code>off</code></dt> 846 <dd>実行可能ファイルに対して特別な扱いをしません。</dd> 847 848 <dt><code>on</code></dt> 849 <dd>ユーザの実行ビットが設定されている <code>text/html</code> 850 ファイルは全てサーバで解析する html ドキュメントとして扱われます。</dd> 851 852 <dt><code>full</code></dt> 853 <dd><code>on</code> と同様ですが、グループ実行ビットもテストします。 854 もしそれが設定されていれば、返されるファイルの <code>Last-modified</code> の 855 日付をファイルの最終修正時刻にします。それが設定されていないときは、 856 last-modified の日付は送られません。このビットを設定すると、 857 クライアントやプロキシがリクエストをキャッシュできるようになります。 858 859 <div class="note"><strong>注意</strong> 他の CGI を <code>#include</code> 860 するかもしれないものや、各アクセスに対して違う出力を生成する 861 (もしくは後のリクエストで変わるかもしれないもの) 862 すべての SSI スクリプトに対してグループ実行ビットが 863 設定されていないことを確認できない場合は、full は使わない方が良い 864 でしょう。</div> 865 </dd> 866 </dl> 867 868 869</div> 870</div> 871<div class="bottomlang"> 872<p><span>翻訳済み言語: </span><a href="/en/mod/mod_include.html" hreflang="en" rel="alternate" title="English"> en </a> | 873<a href="/fr/mod/mod_include.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 874<a href="/ja/mod/mod_include.html" title="Japanese"> ja </a></p> 875</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> 876<script type="text/javascript"><!--//--><![CDATA[//><!-- 877var comments_shortname = 'httpd'; 878var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_include.html'; 879(function(w, d) { 880 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 881 d.write('<div id="comments_thread"><\/div>'); 882 var s = d.createElement('script'); 883 s.type = 'text/javascript'; 884 s.async = true; 885 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 886 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 887 } 888 else { 889 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 890 } 891})(window, document); 892//--><!]]></script></div><div id="footer"> 893<p class="apache">Copyright 2014 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> 894<p class="menu"><a href="/mod/">モジュール</a> | <a href="/mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">用語</a> | <a href="/sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- 895if (typeof(prettyPrint) !== 'undefined') { 896 prettyPrint(); 897} 898//--><!]]></script> 899</body></html>