Kenji Arisawa
E-mail: arisawa@aichi-u.ac.jp
Aichi University
Kurozasa 370, Miyoshi-cho
Aichi, Japan
2002/02/16
Powered by Pegasus
URI 変換 (2)
名称
rewrite
配置
/etc/rewrite in httpd name space
説明
このファイルは Pegasus にアクセスするクライアントからのリクエストに対して
正しい URI を知らせるために使用されます。
例えばこのホストを pegasus.com とします。次の1行
/sys/man /man/man.html;
は、
http://pegasus.com/sys/man/1/acme
のようなクライアントからの要求が来た時に
http://pegasus.com/man/man.html;/1/acme
としてクライアントに再送を促します。
(ホストドメイン名が省略された場合には、自分のホスト名を付加します。)
また次の1行によって
/sys/man http://plan9.bell-labs.com/sys/man
plan9.bell-labs.com の /sys/man を参照する様にしむけます。
URI 変換は2つの段階で行われます。
まず最初に
/sys/lib/httpd.rewrite
によって(このファイルはサーバ管理者によって管理されます)、
その次にサーバの名前空間の中での
/etc/rewrite
によって(このファイルはドキュメントの管理者によって管理されます)
URI が変換され、その内容がクライアントに伝えられます。
変換規則は両者とも基本的に同じですが /etc/rewrite による変換では
(1) 第二フィールドの * 修飾子が使用できません。
(2) 第一フィールドの /~alice のようなユーザ指定をした場合には
/~alice が単なるディレクトリと見做されます。
(従ってドキュメントルートの下にディレクトリ ~alice が無いと
エラーになります。
変換規則
パスのマッチング規則に関しては パス名適合規則を参照して下さい。
マッチするパターンが複数存在する場合には、その中で一番長いパターンが
採用されます。
マッチしたパスはパターンと一致した部分が第二フィールドで置き換えられます。