github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/manual/mod/mod_include.html.ja.utf8 (about)

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