Apacheで、VirtualHostを有効にしているとどうやらhttpd.confでRewriteEngineが使えないみたい。VirtualHostディレクティブの中でなら使えるのだけど。
多くのヴァーチャルホストに共通する設定をRewriteで済ませようと思ったのだけどなぁ。
文書が見つからないときには「404 Not Found」のステータスコードを返すようにした。今までは「Internal Server Error」という物々しいエラーを返してしまっていたので。訪問者を驚かせかねないし。
でもCGI側でエラーコードを返すとサーバーのエラーログには残らないようで、エラーログからリンク切れを見つけられなくなるのでその点はちょっと不便である。
ちなみに方法はCGIから出力するヘッダーに
Status: 404 Not Found
を加えればOK。
それから、原稿ファイルのヘッダー部にタイトル以外に、サブタイトルと目次を生成するかのフラッグの項目を追加した。
ところでWeb Document Systemに限らずテキストファイルでヘッダーとボディ部が必要な場合は、両者を改行のみの行で区切り、ヘッダーは「変数: 値」のように書く書式に統一しようかと最近思っている。理由はこの方式はHTTPでのやりとりを始め多くのシステムで採用されていて汎用性も期待できるし、境界が簡潔明瞭でプログラムで扱ったりエディタで編集するのにも都合がよいので。
Title: テキストファイルのヘッダー部について Subtitle: 1、比較と検証 Author: 山田太郎 テキストファイルのヘッダー部とボディー部は…
ところでWeb Document Systemでは例外的にタイトルとサブタイトルだけに関しては「変数:」をつけずに記述する方式を検討中。タイトルは変換後のHTMLにおいても必須のヘッダーなので少しでも記述コストを減らすために。両者の識別はサブタイトルの場合は先頭に半角スペースを記述することで指定。
それからタイトルとサブタイトルのどちらを上に記述するかはヘッダー中に現れる順番で指定することに。今のところ原稿ファイルの書き方はこんな感じ。
テキストファイルのヘッダー部について 1、比較と検証 MakeIndex: No テキストファイルのヘッダー部とボディー部は…
タイトルとサブタイトルで「変数:」をつけての指定もサポートするかは、順序も識別するとなると少しだけややこしくなりそうで、他のプログラムからもデータを扱いにくくなりそうなので考慮中。データの汎用性を考えるとすべてのヘッダーを「変数: 値」の方式で記述するのがよさそうだけど。
わりと便利なプログラムだと思うので早く公開したいと思いつつ、でもまだヘボヘボなのでせめて仕様だけでも固めてからと思いつつ。