php を利用する

といってもとりあえずMovableType のテンプレート内でinclude が使いたいだけなんですが。
このサイトではファイルに拡張子を付けない設定にしているため、


AddType application/x-httpd-php .php

とかしただけではphp が有効にならないのです。そこで色々検索してみつけたのが以下の書き方。


ForceType application/x-httpd-php

何も考えずにその辺に書いてしまうととっても危険なので、Directory ディレクティブとか Files ディレクティブの中で使うようにした方がよさげ。むしろ絶対そうするべき。
で、「拡張子のないファイルを正規表現でどう表記するか」というところで躓いて今日は終わり。GIF とかPNG とかCSS とかを正規表現でマッチさせることは出来るので、ひたすら拡張子を列記して、それを否定する、でも良いのだけど。正規表現難しい。なんか本でも買うかな。オライリーのとか。


(2004/05/27 00:36 追記)
遠回しで、スマートさに欠け、汎用性のない方法で解決させました。
こんな方法を載せるのも大変心苦しいのですが、話を振った以上、恥を忍んで公開します。
httpd.conf


<Directory "「www-path」/mt">
<FilesMatch "index$">
ForceType application/x-httpd-php
</FilesMatch>
</Directory>
<Directory "「www-path」/mt/archives">
<FilesMatch "(index|cat_*)$">
ForceType application/x-httpd-php
</FilesMatch>
</Directory>
<Directory "「www-path」/mt/archives/*">
ForceType application/x-httpd-php
</Directory>

上の方のフォルダから、php を使いたいファイルのみマッチさせていく形で下の階層に降りていきます。”「www-path」/mt/archives/*” 以下はMT が生成するファイルのみを置き、画像ファイルなどは別のフォルダを作ってそちらに移動させました。
まずはinclude テストということで、各ページ下部に著作権表示っぽいモノをくっつけてみました。実体は別ファイルになっていてページ閲覧時に呼び出されるので、この部分は再構築の手順を踏まずともラクに変えることが出来ます。

シェアする

フォローする