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 のほうが柔軟に処理できる気も。
つうか、みんな何つかってんだろ。