ssi.html.ja.utf8 revision b43f840409794ed298e8634f6284741f193b6c4f
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson This file is generated from xml source: DO NOT EDIT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<title>Apache チュートリアル: Server Side Includes 入門 - Apache HTTP サーバ</title>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews<link href="/images/favicon.ico" rel="shortcut icon" /></head>
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews<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>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div>
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews<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.5</a> > <a href="./">How-To / チュートリアル</a></div><div id="page-content"><div id="preamble"><h1>Apache チュートリアル: Server Side Includes 入門</h1>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<p><span>翻訳済み言語: </span><a href="/en/howto/ssi.html" hreflang="en" rel="alternate" title="English"> en </a> |
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<a href="/fr/howto/ssi.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<a href="/ja/howto/ssi.html" title="Japanese"> ja </a> |
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<a href="/ko/howto/ssi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson 最近更新された内容を見るには英語版をご覧下さい。
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<p>サーバサイドインクルードによって、既存の HTML
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonドキュメントに動的なコンテンツを追加することができます。</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#related">はじめに</a></li>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<li><img alt="" src="/images/down.gif" /> <a href="#what">SSI とは ?</a></li>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<li><img alt="" src="/images/down.gif" /> <a href="#configuring">SSI を許可するためのサーバの設定</a></li>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<li><img alt="" src="/images/down.gif" /> <a href="#basic">基本的な SSI ディレクティブ</a></li>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<li><img alt="" src="/images/down.gif" /> <a href="#additionalexamples">追加の例</a></li>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<li><img alt="" src="/images/down.gif" /> <a href="#config">他に何が設定できるのか ?</a></li>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<li><img alt="" src="/images/down.gif" /> <a href="#exec">コマンドの実行</a></li>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<li><img alt="" src="/images/down.gif" /> <a href="#advanced">高度な SSI テクニック</a></li>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<li><img alt="" src="/images/down.gif" /> <a href="#conclusion">終わりに</a></li>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<h2><a name="related" id="related">はじめに</a></h2>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <table class="related"><tr><th>関連モジュール</th><th>関連ディレクティブ</th></tr><tr><td><ul><li><code class="module"><a href="/mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="/mod/mod_expires.html">mod_expires</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="/mod/mod_include.html#xbithack">XBitHack</a></code></li><li><code class="directive"><a href="/mod/mod_mime.html#addtype">AddType</a></code></li><li><code class="directive"><a href="/mod/core.html#setoutputfilter">SetOutputFilter</a></code></li><li><code class="directive"><a href="/mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li></ul></td></tr></table>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <p>この記事は、通常は単に SSI と呼ばれる Server Side Includes
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson を扱います。この記事においては、サーバでの SSI を許可するための設定と、
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson 現在の HTML ページに動的なコンテンツを加えるためのいくつかの基本的な
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson SSI 技術を紹介します。</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <p>記事の後半では、SSI ディレクティブで SSI
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson と共に実行することができる条件文のような
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson 幾分高度な事柄について述べています。</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<h2><a name="what" id="what">SSI とは ?</a></h2>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <p>SSI (Server Side Includes) は、HTML
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson ページ中に配置されるディレクティブであり、
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson サーバでページを提供する時に評価されます。SSI は、CGI
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson プログラムやその他の動的な技術で全てのページを提供せずに、
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson 動的に生成されたコンテンツを現在の HTML ページに加えます。</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <p>どういう場合に SSI を使い、どういう場合にプログラムで
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson ページを完全に生成するかは、ページのうちどの程度が静的であり、
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson ページが提供されるたびに再計算する必要がどの程度あるかで通常は決定します。
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson SSI は現在時刻のような小さい情報を加えるにはうってつけの方法です。
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson しかし、そのページのほとんどの部分が提供時に生成される場合は、
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson 他の方法を探す必要があります。</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<h2><a name="configuring" id="configuring">SSI を許可するためのサーバの設定</a></h2>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <p>サーバで SSI を許可するには、<code>httpd.conf</code>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson ファイルに次のディレクティブを指定する必要があります:</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson Options +Includes
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <p>この指定は、ファイルを SSI
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson ディレクティブで解析させることを許可するということを Apache
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson に伝えます。ほとんどの設定ではお互いを上書きできる、複数の
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <code class="directive"><a href="/mod/core.html#options">Options</a></code> があることに
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson 注意してください。おそらく、設定が最後に評価されることを
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson 保証されるために、SSI を使用したいディレクトリに <code>Options</code>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson ディレクティブを適用する必要があるでしょう。</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <p>全てのファイルが SSI
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson ディレクティブで解析されるというわけではありません。
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson どのファイルが解析されるかを Apache に伝える必要があります。
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson これを行なうには二つ方法があります。
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson のような特別なファイル拡張子を持つファイルを解析するよう
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson Apache に伝えることができます:</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson AddOutputFilter INCLUDES .shtml
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <p>この方法の欠点は、もし現在のページに SSI ディレクティブを加えたい場合、
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson それらのディレクティブが実行されるように
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson そのページへの全てのリンクを変更しなければならないことです。</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <p>もう一つの方法は、<code class="directive"><a href="/mod/mod_include.html#xbithack">XBitHack</a></code>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson ディレクティブを使用することです:</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <p><code class="directive"><a href="/mod/mod_include.html#xbithack">XBitHack</a></code>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson は、ファイルの実行ビットが立っている場合、
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson SSI ディレクティブにより解析することを Apache に伝えます。
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson 従って、SSI ディレクティブを現在のページに加えるためには、
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson を使用してファイルを実行可能にするだけで済みます。</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <p>行なうべきではないことに関する短いコメント。時々誰かが、全ての
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <code>.html</code> ファイルを SSI で解析するよう Apache に伝えれば、
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson わざわざ <code>.shtml</code> というファイル名にする必要がないといって
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson 薦めるのを見ることでしょう。こういう人たちは、おそらく
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <code class="directive"><a href="/mod/mod_include.html#xbithack">XBitHack</a></code>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson について聞いたことがないのでしょう。
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson この方法について注意することは、たとえ SSI
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson ディレクティブを全く含まない場合でも、Apache がクライアントに
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson 送る全てのファイルを最後まで読み込ませることになります。
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson この方法はかなり処理を遅くするものであり、良くないアイデアです。</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <p>もちろん、Windows ではそのような実行ビットをセット
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson するようなものはありませんのでオプションが少し制限されています。</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <p>デフォルトの設定では、Apache は SSI ページについて最終変更時刻や
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson コンテンツの長さを HTTP ヘッダに送りません。
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson 動的なコンテンツであるため、それらの値を計算するのが難しいからです。
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson このためドキュメントがキャッシュされなくなり、
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson 結果としてクライアントの性能が遅くなったように感じさせることになります。
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson これを解決する方法が二つあります:</p>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson この設定により、もともと要求されたファイルの時刻を参照し、
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson 読み込まれるファイルの変更時刻を無視して最終変更時刻を決定するよう
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson Apache に伝えます。</li>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson <li><a href="/mod/mod_expires.html">mod_expires</a>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson で提供されているディレクティブを使用して、
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson ファイルが無効になる時刻を明示します。これにより、
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson ブラウザとプロキシにキャッシュが有効であることを通知します。</li>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<h2><a name="basic" id="basic">基本的な SSI ディレクティブ</a></h2>
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson <!--#element attribute=value attribute=value ... -->
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson <p>HTML のコメントのような書式をしているので、もし SSI
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson を正しく動作可能にしなければ、ブラウザはそれを無視するでしょう。
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson しかし、HTML ソース中では見えます。もし SSI を正しく設定したなら、
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson ディレクティブはその結果と置き換えられます。</p>
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson <p>element はたくさんあるものから一つ指定することができます。
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson 指定できるものの大多数については、次回もう少し詳しく説明します。
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson ここでは、SSI で行なうことができる例をいくつか示します。</p>
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson<h3><a name="todaysdate" id="todaysdate">今日の日付</a></h3>
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson <!--#echo var="DATE_LOCAL" -->
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson CGI プログラムに利用可能な環境変数の全ての
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson 要素を用いることで、独自の変数を定義することができます。
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson <p>出力される日付の書式が好きではない場合、その書式を修正するために、
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson <code>config</code> 要素に <code>timefmt</code>
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson 属性を使用することができます。</p>
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson <!--#config timefmt="%A %B %d, %Y" --><br />
47ad4fad771b9c570bcf57793d6a931e0ca9856cAndreas Gustafsson Today is <!--#echo var="DATE_LOCAL" -->
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<h3><a name="lastmodified" id="lastmodified">ファイルの変更日</a></h3>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson This document last modified <!--#flastmod file="index.html" -->
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson フォーマットの設定に従います。</p>
This file last modified <!--#flastmod file="ssi.shtml" -->
<!--#include virtual="/footer.html" -->
<code class="module"><a href="/mod/mod_include.html">mod_include</a></code> は条件を表現するために <code>if</code>,
<p><span>翻訳済み言語: </span><a href="/en/howto/ssi.html" hreflang="en" rel="alternate" title="English"> en </a> |
<p class="apache">Copyright 2012 The Apache Software Foundation.<br />この文書は <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>