_ apache 2.4 では
みたいに Define を使ってマクロみたいな書き方ができるようになった。似たような動作をするホストを複数仕込むときに、Define HOGE hogehoge Directive ${HOGE}みたいな書き方ができてたいへん便利。# ホスト依存設定 Define HOGE hogehoge Define FUGA fugafuga # 共通設定 Include common.conf_ が、これをおしすすめて、
こう書くと困る。HOGE が定義されてる場合だけそれに関する設定を追加したいんだけど、定義されていなくても <IfDefine> の中まで parse されてしまうようで、${HOGE} が未定義だと警告されてしまう。実際はこれで起動すると <IfDefine> の中はちゃんと無視されるので、警告がウザいだけでしっかり意図どおりに動作するんだけど、でもなんだかなぁ。なんかうまい方法はないものか。つーか、m4 とか使った方がはやそうな。httpd -DHOGE=hogehoge みたいな使い方はできなくなっちゃうけど。<IfDefine HOGE> Directive ${HOGE} </IfDefine>_ あと、関係ないけどさぁ、公式ドキュメントの日本語訳どうにかならないかなぁ。翻訳が古すぎて使いものにならんのだけど。最近追加された機能のことがまったくわからない。 Defineの この使い方も 日本語訳には 存在しないんだよ。バージョンが上がって追加された機能、動作が変更された部分も、翻訳しなくていいからいいからちゃんと見えるようにしてくれるならまだなんとかなるんだけど、古いまま完全に放置されて隠蔽されちゃってるのでどうしようもない。むしろ有害なのでメンテしないなら消してくれ。そうでないならせめて、「古くなっている可能性があります」ではなく「バージョン 2.x.x について記述してあります」と書いてほしい。