このモジュールのディレクティブはサーバにリクエストが到着したときに
URL の操作や制御をすることを可能にします。
様々なコンテキスト中での Alias や Redirect は他のディレクティブと
同じように標準の マージ規則 に
従って処理されます。ただし、(例えば
まず、Alias の前にすべての Redirect が処理されます。ですから、
ですから、二つ以上のディレクティブが同じパスに適用されるときは、 すべてのディレクティブの効果を得るためにはより詳しいパスを先に書く 必要があります。例えば、次の設定は期待通りの動作をします:
しかし、上記の二つのディレクティブの順番が逆になると、
/foo
/foo/bar
http://myserver/image/foo.gif へのリクエストに対して、サーバは ファイル /ftp/pub/image/foo.gif を返します。
もし url-path の最後に /
を書いたなら、サーバがエイリアスを展開するためには、最後の /
が必要になることに注意してください。すなわち、Alias /icons/
/usr/local/apache/icons/
というものを使用している場合は、
/icons
という url はエイリアスされません。
エイリアスの行き先を含んでいる
特に、Alias
を
このディレクティブは /icons
ディレクトリを使う
ためには以下のようなものが使用できます:
Redirect ディレクティブは古い URL を新しいものへマップします。 新しい URL がクライアントに返されます。そして、 クライアントは新しいアドレスをもう一回取得しようとします。 URL-path (% が復号された) パスで始まるドキュメントへの すべてのリクエストは URL で始まる新しい (% が符号化された) URL へのリダイレクトエラーが返されます。
クライアントは http://myserver/service/foo.txt へのリクエストを行なうと、代わりに http://foo2.bar.com/service/foo.txt をアクセスするように告げられます。
設定ファイル中の順番に関わらず、
Redirect 系のディレクティブは Alias
ディレクティブと ScriptAlias ディレクティブよりも優先されます。
また、.htaccess ファイルや
もし 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
を使用するようにするためには、以下のようなものを使います: