人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【linux】mod_layoutを使っています。
LayoutDefaultHandlers Off
LayoutHandler text/html
の二つの使い方がいまいち分かりません。
日本語で詳しく解説されている所をよろしくお願いします。

●質問者: yoshi5231
●カテゴリ:ウェブ制作
✍キーワード:HTML Linux mod_layout いまいち 日本語
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● kimizu
●100ポイント

http://www.9203.net/~takech/blog/linux.php?itemid=2309

前回も、ここを紹介しちゃいましたが、ここに書かれていることが全てです。


まず、mod_layoutで普通にHeaderやFooterを指定すると、

ファイル名やファイルの拡張子で指定Headerなどの出力の有無が

決定されます。

「AddOutputFilter LAYOUT html」や

「LayoutIgnoreURI */hoge.cgi」などですね。


しかし、そのまま使用すると、cgiにもheaderの出力を設定した場合、

「画像として返却されるcgiで作成したカウンタ」などで、

画像ファイルの先頭にheaderとして指定したhtmlが付与されてしまい、

画像と認識されなくなり、カウンタが表示できない」などの不具合が発生します。


その際に効いてくるのが今回の設定です。


まず、「LayoutDefaultHandlers Off」ですが、

この行を指定しない場合、該当するハンドラ(ファイル種別)は、以下となります。


server-parsed

text/html

text/plain

perl-script

cgi-script

application/x-http-cgi

application/x-httpd-php


この「ハンドラ」とは、htmlの記載の中には含まれない、httpプロトコル内部の

ファイル種別のことで、apacheでは、Add Typeなどで、

拡張子と関連付けられたりします。

Add Typeでは、「この拡張子は、このファイル種別」という指定をしますので、

サーバ側では、その拡張子のファイルをクライアントに返却する際に、

ファイル種別を伴ってダウンロードさせることができます。

例えば、

「AddType application/vnd.rn-realmedia .rm」という記述で、

「.rmのファイルは、Realmediaのファイルですよ」とか、

「AddType video/x-ms-wmv .wmv」という記述で、

「.wmvはMicrosoftWindowsMediaのファイルですよ」などです。


Add Typeが記述されていない場合、よく分からない拡張子のファイルには、標準ではtext/htmlなどが指定されることになります。


そのハンドラについて、全てのハンドラに対応しないように設定するのが、

「LayoutDefaultHandlers Off」です。


その次に、htmlとして返却されるものに対してのみ、

ヘッダやフッタを出力するような設定を行うため、

「LayoutHandler text/html」を指定します。


要は、

「cgiやphpで出力するhtmlに対してはヘッダ/フッタをつける」

「cgiやphpで作成し、出力するような画像にはヘッダ/フッタを付与しない」

という設定を行うのが、この二行になります。

◎質問者からの返答

なるほど とても詳しい説明ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ