このモジュールのディレクティブはサーバにリクエストが到着したときに
URL の操作や制御をすることを可能にします。
様々なコンテキスト中での Alias や Redirect は他のディレクティブと
同じように標準の マージ規則 に
従って処理されます。ただし、(例えば
まず、Alias の前にすべての Redirect が処理されます。ですから、
ですから、二つ以上のディレクティブが同じパスに適用されるときは、 すべてのディレクティブの効果を得るためにはより詳しいパスを先に書く 必要があります。例えば、次の設定は期待通りの動作をします:
しかし、上記の二つのディレクティブの順番が逆になると、
/foo /foo/bar
http://myserver/image/foo.gif へのリクエストに対して、サーバは
ファイル /ftp/pub/image/foo.gif を返します。完全なパスセグメントが
一致した時にのみ働きますので、上の例は http://myserver/imagefoo.gif
に対するリクエストにはマッチしません。正規表現を使ったより複雑な
マッチングに関しては
もし url-path の最後に /
を書いたなら、サーバがエイリアスを展開するためには、最後の /
が必要になることに注意してください。すなわち、Alias /icons/
/usr/local/apache/icons/ というものを使用している場合は、
/icons という url はエイリアスされません。
エイリアスの行き先を含んでいる
特に、Alias を
このディレクティブは /icons ディレクトリを使う
ためには以下のようなものが使用できます:
Redirect ディレクティブは古い URL を新しいものへマップして、 クライアントに新しい場所を訪れるように指し示します。
古い URL-path (% が復号された) パスは、 スラッシュで始まるものです。相対パスは使用できません。 新しい URL は絶対 URL 、つまりスキームとホスト名で 始まるものであるべきですが、URL-path の、スラッシュで始まるものも 使用可能です。その場合は、現在のスキームとホスト名が追加されたことに なります。
URL-Path で始まるどんなリクエストも、ターゲットの URL へとリダイレクトが返されます。URL-Path にマッチした path 情報は、ターゲット URL の後ろに追加された 形で引き継がれます。
クライアントは http://example.com/service/foo.txt
へのリクエストを行なうと、代わりに http://foo2.example.com/service/foo.txt
をアクセスするように告げられます。
パスセグメントが完全に一致したもののみがマッチしますので、
上記の例は http://example.com/servicefoo.txt にはマッチしません。
正規表現を使ったより複雑なマッチングについては、
設定ファイル中の順番に関わらず、 Redirect 系のディレクティブは Alias ディレクティブと ScriptAlias ディレクティブよりも優先されます。
もし status 引数が与えられていなければ、リダイレクトは "temporary" (HTTP ステータス 302) になります。これはクライアントに リソースが一時的に移動したということを示します。Status 引数は 他の HTTP のステータスコードを返すために使用することができます:
Status の値にステータスコードを数値で与えることで
他のステータスコードも返すことができます。ステータスが 300 と 399
の間にある場合、url 引数は存在していなければいけません。
その他の場合は省略されていなければなりません。ただし、
ステータスは Apache のコードが知っているものである必要があります
(http_protocol.c の関数 send_error_response
を見てください)。
例:
このディレクティブは
このディレクティブはクライアントに Redirect
が一時的なものである (ステータス 302) ことを知らせます。
Redirect temp とまったく同じです。
このディレクティブはクライアントに Redirect が永久的なもの
(ステータス 301) であることを知らせます。
Redirect permanent とまったく同じです。
http://myserver/cgi-bin/foo
へのリクエストに対してサーバはスクリプト
/web/cgi-bin/foo を実行します。
このディレクティブは /cgi-bin
を使用するようにするためには、以下のようなものを使います: