最強メール・フィルタSpamghetti
機能制限無し試用版のダウンロード

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なら次のelsif、elseまたはB>endifの要素がアウトプットに含まれます。
elsifかelseの記述はもしそのオリジナルなテストコンディションが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_condition1とtest_ condition2がtrueならtrue
- test_condition1 && test_condition2
-
test_condition1とtest_condition2がtrueならtrue
- test_condition1 || test_condition2
-
test_condition1かtest_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.