犬ターネット

apache2.2 に mod_layout 突っ込んだ

2012-04-24 apache

mod_layout、メンテされなくなってしばらく経つみたいだけど、ドキュメントっぽいのはここに、

http://www.musc.edu/webserver/mod_layout.html

最新ソース(ver 5.1)はここにあった。

http://linux.softpedia.com/get/Internet/HTTP-WWW-/mod-layout-5-23623.shtml

で、とりあえず、ダウンロードしてインストール。

$ tar -xzvf mod_layout-5.1.tar.gz
$ cd mod_layout-5.1
$ vim Makefile
APXS=/usr/local/apache/bin/apxs ←環境にあわせて書き換え
APACHECTL=/usr/local/apache/bin/apachectl ←環境にあわせて書き換え
$ make
$ make install

httpd.conf に以下の一行があることを確認してapache再起動。

LoadModule layout_module modules/mod_layout.so

さっそく使ってみる。.htaccess に以下を記述しレスポンスヘッダが text/html の場合に LAYOUT フィルタをかける設定にする。

AddOutputFilterByType LAYOUT text/html

LayoutHeader と LayoutFooter 使ってヘッダとフッタを自動追加。<body>の直後にヘッダが、</body>の直前にフッタが追加される。bodyタグがない場合は、ファイル先頭と末尾にそれぞれ追加される。

AddOutputFilterByType LAYOUT text/html
LayoutHeader /header.html
LayoutFooter /footer.html

<!--COPYRIGHT--> の部分を copyright.html で置換。

AddOutputFilterByType LAYOUT text/html
LayoutHeader /header.html
LayoutFooter /footer.html
Layout "<!--COPYRIGHT-->" /copyright.html replace
# LayoutHeader か LayoutFooter 呼び出さないと Layout が動かないっぽい

ignore.html へのアクセスは mod_layout 無視してそのまま出力。

AddOutputFilterByType LAYOUT text/html
LayoutHeader /header.html
LayoutFooter /footer.html
LayoutIgnoreURI /ignore.html

LayoutDisplayOriginal を Off にすると、header.html と footer.html しか表示されなくなる。なんに使うんだこれ。

AddOutputFilterByType LAYOUT text/html
LayoutHeader /header.html
LayoutFooter /footer.html
LayoutDisplayOriginal Off

他にもいろいろディレクティブがあるんだけど使えないの多い、おれの環境だけなのかな...

mod_layout 使うんだったら、mod_ext_filter のほうが柔軟に処理できる気も。

つうか、みんな何つかってんだろ。


X-Frame-Options と X-Powered-By

5日連続福しん(福しんのステマ)