[an error occurred while processing this directive] [APACHE DOCUMENTATION]

mod_includeモジュール

このモジュールはmod_include.cファイルに含まれ、デフォルトでコンパイルされます。それはSPMLドキュメントとして知られたサーバ解釈されたhtmlドキュメントを提供します。マイムタイプtext/x-server-parsed-htmlかext/x-server-parsed-html3のドキュメントのいくつかはマイムタイプtext/htmlに与えられたアウトプットの結果がこのモジュールによって解釈される。オリジナルのNCSA SPML定義上の命令のいくつかがApache 1.2に含まれます。−Apache 1.2以上に含まれます。特別の意義の点において下部で証明された命令をコントロールする新しい提供があります。

基本的な要素

ドキュメントはSGMLコメントとして埋め込まれた特別なコマンドで書かれたHTMLのドキュメントとして解釈されます。コマンドは文法が決まっています。
<!--#element attribute=value attribute=value ... -->
その値はしばしばダブルコーテーションで(”)囲まれます。;多くのコマンドは一組の属性値のみを許可しています。

許可された要素:

config
kono このコマンドは文法的関係のさまざまな側面をコントロールします。そのさまざまな属性は:
errmsg
これはもしドキュメントを解釈しているあいだにエラーがおこったときクライアントに返すメッセージです。
sizefmt
これはファイルのサイズ表示させるフォーマットを設定します。さまざまな値はバイトで指定し場合はバイト単位で、abbrevを指定した場合はKbまたはMbに短縮して正確に出力します。
timefmt
これは日付を表示させるときstrftime(3)のライブラリルーチンによって使用される文字列です。
echo
このコマンドは以下(Include variables)に定義された変数の値を表示します。もしその変数が設定されていないなら(None)と表示されます。表示されたいくつかの日付はtimefmtで設定でフォーマットされます。属性:
var引数
その値は表示させる変数の名前です。
exec
そのexecコマンドはシェルコマンドかCGIスクリプトを実行します。IncludesNOEXEC Optionは完全にこのコマンドを使用できないようにします。そのさまざまな属性は:
cgi
その値はCGIスクリプトのURLに対する相対パスを明示します。もしそのパスがスラッシュ(/)で始まらないならばカレントドキュメントに対する相対パスをととります。このパスで指定されたドキュメントはたとえサーバが普段CGIスクリプトを認識しなくてもCGIスクリプトとして実行されます。しかしながらスクリプトを含むディレクトリでCGIスクリプトが実行可能でなければならない。(ScriptAliasかExecCGIOptionが設定されている) CGIスクリプトはPATH_INFOとクライアントからのオリジナルリクエストのクエリー(QUERY_STRING)で提供されます。これらはURLのパスを特定することが出来ません。可変のインクルードは標準のCGI環境に加えたスクリプトを使用することが出来ます。 もしそのスクリプトがロケーション(アウトプットの代わりのヘッダー)を返すならば、これはHTMLの一番最後に表示されます。 virtualインクルード機能がCGIの実行に優先して使用されます。
cmd
サーバは/bin/shが使用している文字列を実行します。さまざまなインクルード機能がコマンドによって使用するこが出来ます。
fsize
このコマンドはsizefmtで炊く定されたファイルのサイズを表示します。特徴:
file
これは解釈されたカレントドキュメントを含むディレクトリの相対パスをとります。
virtual
これは解釈されたドキュメントのカレントディレクトリに対して相対URLパス(%-encoded) をとります。もしスラッシュ(/)で始まっていなければドキュメントのあるカレントディレクトリに対して相対パスをとります。
flastmod
このコマンドはtimefmtで指定されたフォーマットに従って特定のファイルの最終更新日を表示します。その特徴はfsizeコマンドと同様です。
include
このコマンドは他のドキュメントや解釈されたファイルの中のファイルを挿入します。いくつかのインクルードされたファイルは普通のアクセスコントロールに従属しています。もし解釈されたファイルを含むディレクトリがOptionでIncludesNOEXECに設定され、実行形式のドキュメントを含んでいるならば、それは実行されないでしょう。これはCGIスクリプトの実行を防ぎます。さもなければCGIスクリプトはコマンドで設定されたクエリー文字列を含んだ完全なURLを普通に使用しようとします。

特徴はそのドキュメントのロケーションを定義することです;その中身はインクルードコマンドで設定されたそれぞれの特徴を実行することです。特徴は:

file
valueは解釈されたドキュメントがあるディレクトリに対して相対パスをとります。それは../を含むことが出来ず、絶対パスを設定することも出来ません。virtualの特徴は常にこれが優先して使用されることです。
virtual
valueは解釈されたドキュメントを含むディレクトリに対して相対パスをとります。URLは図かホスト名を含むことは出来ません。パスと任意の問い合わせ文字のみです。もしそれがスラッシュで始まるならばドキュメントのあるディレクトリに対して相対パスをとります。
URLは属性で構成されます。もしURLが解釈された表示を含むクライアントよってアクセスされるならサーバへはアウトプットを返します。その含まれたファイルはネストしています。
printenv
これはすべての存在する変数とそれらの値のリストを表示します。
例:<!--#set var="category" value="help"-->
Apache 1.2以上
set
これは変数の値を設定します。特徴:
var
設定する変数の名前
value
変数に代入する値
例: <!--#set var="category" value="help"-->
Apache 1.2以上

Include variables

標準なCGI環境での変数に加えてifとifelse、またはドキュメントを呼ぶプログラムに関してechoコマンドを使用することが出来ます。
DATE_GMT
世界標準時による日時
DATE_LOCAL
地域時間による日時
DOCUMENT_NAME
現在処理しているドキュメントの名前
DOCUMENT_URI
このドキュメントのURLに現れる形のパス名。ネストされたインクルードファイルの場合には気おつけてください。これは現在処理しているドキュメントに対するURLではありません。
LAST_MODIFIED
このドキュメントの最終更新日時

Flow Control Elements

これらはApache 1.2以上で使用出来ます。基本的なflow control elementsは
    <!--#if expr="test_condition" -->
    <!--#elif expr="test_condition" -->
    <!--#else -->
    <!--#endif -->

そのifの要素はプログラミング言語の記述であるかのように動作します。テストコンディションが評価され、もしその結果がtrueなら次のelsifelseまたはB>endifの要素がアウトプットに含まれます。

elsifelseの記述はもしそのオリジナルなテストコンディションがfalseであったならアウトプットにテキストを置きます。これらの要素はオプションです。

endif要素はifを終わらせる要求をします。

test_conditionは次の中のひとつです。

string
もしstringがからならtrueです。
string1 = string2
string1 != string2
Compare string1 with string 2. If string2 has the form /string/ string1とstring2を比較します。もしstring2が/string/の形態を とるならばそれは正規表現として比較されます。正規表現はUNIXのegrep コマンドで見つかったものと同様の文法を持ちます。
( test_condition )
もしtest_conditionがtrueならtr ue
! test_condition
もしtest_conditionがfalseでtest_condition1test_ condition2がtrueならtrue
test_condition1 && test_condition2
test_condition1test_condition2がtrueならtrue
test_condition1 || test_condition2
test_condition1test_condition2のどちらかがtrueなら true

"="と"!="は"&&"と"||"より、よりタイトに関連づけられます。"!"はもっともタイトに関連づけられます。従って次にあげるものは等価です。:

    <!--#if expr="$a = test1 && $b = test2" -->
    <!--#if expr="($a = test1) && ($b = test2)" -->

変数か演算子として認識されないものは文字として扱われます。文字列は'string'のように囲います。シングルクォートで囲まれていない文字列はスペース(ブランクとタブ)を含むことができません。なぜならそれは変数のように別れた形で使用されるからです。もし複数の文字列が一列に存在するならばそれらは使用しているブランクを連結します。

     string1    string2  results in string1 string2
    'string1    string2' results in string1    string2

置換変数はクォートされた文字列内で使用されます。あなたがバックスラッシュ使用した文字列内でドルマークを使用する事が出来ます。

    <!--#if expr="$a = \$test" -->

Directives


XBitHack

Syntax: XBitHack status
Default: XBitHack off
Context: server config, virtual host, directory, .htaccess
Override: Options
Status: Base
Module: mod_include

XBitHack命令は普通のhtmlドキュメントの解釈をコントロールします。Statusは次のような値をとります。:

off
実行ファイルを特別に取り扱わない
on
user-executeの設定がされているファイルはサーバ解釈htmlドキュメントとして扱われます。
full
onに関する限りではしかしながらまたgroup-executeをテストします。もしそれが設定されているとそのファイルの最終更新日時に返されたファイルの最終更新日時を設定します。もしそれが設定されていないと最終更新日時は設定されません。このbit設定はリクエストの結果をキャッシュすることをクライアントとプロキシーに許可します。


検索文字
このJAPACHE!ニュースグループへ
( japache.mod.include ) | JAPACHE!ニュースについて | JAPACHE!ホームページへ

このページの情報に関わる、ご質問、お問い合わせは、 japache@infoscience.co.jpまで。


The English original manual is here.

Index Home