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 が無いと エラーになります。 変換規則 パスのマッチング規則に関しては パス名適合規則を参照して下さい。 マッチするパターンが複数存在する場合には、その中で一番長いパターンが 採用されます。 マッチしたパスはパターンと一致した部分が第二フィールドで置き換えられます。