SIM フリーどさにっき 〜2014年7月上旬〜

by やまや
<< = >>

2014年7月10日(木)

Apache 2.4 Define

_ apache 2.4 では

Define HOGE hogehoge
Directive ${HOGE}
みたいに Define を使ってマクロみたいな書き方ができるようになった。似たような動作をするホストを複数仕込むときに、
# ホスト依存設定
Define HOGE hogehoge
Define FUGA fugafuga
# 共通設定
Include common.conf
みたいな書き方ができてたいへん便利。

_ が、これをおしすすめて、

<IfDefine HOGE>
    Directive ${HOGE}
</IfDefine>
こう書くと困る。HOGE が定義されてる場合だけそれに関する設定を追加したいんだけど、定義されていなくても <IfDefine> の中まで parse されてしまうようで、${HOGE} が未定義だと警告されてしまう。実際はこれで起動すると <IfDefine> の中はちゃんと無視されるので、警告がウザいだけでしっかり意図どおりに動作するんだけど、でもなんだかなぁ。なんかうまい方法はないものか。つーか、m4 とか使った方がはやそうな。httpd -DHOGE=hogehoge みたいな使い方はできなくなっちゃうけど。

_ あと、関係ないけどさぁ、公式ドキュメントの日本語訳どうにかならないかなぁ。翻訳が古すぎて使いものにならんのだけど。最近追加された機能のことがまったくわからない。 Defineこの使い方日本語訳には 存在しないんだよ。バージョンが上がって追加された機能、動作が変更された部分も、翻訳しなくていいからいいからちゃんと見えるようにしてくれるならまだなんとかなるんだけど、古いまま完全に放置されて隠蔽されちゃってるのでどうしようもない。むしろ有害なのでメンテしないなら消してくれ。そうでないならせめて、「古くなっている可能性があります」ではなく「バージョン 2.x.x について記述してあります」と書いてほしい。


<< = >>
やまや