このモジュールは、ホストファイルシステム上のいろいろな違う場所を ドキュメントツリーにマップする機能と、 URL のリダイレクトを行なう機能を提供します。
ステータス: Base
ソースファイル: mod_alias.c
モジュール識別子:
alias_module
このモジュールのディレクティブはサーバにリクエストが到着したときに
URL の操作や制御をすることを可能にします。Alias
ディレクティブと ScriptAlias
ディレクティブは
URL とファイルシステムのパスをマップするために使用されます。これは
DocumentRoot
の下にないドキュメントをウェブのドキュメントツリーの一部として
送られるようにします。ScriptAlias
ディレクティブにはマップ先のディレクトリが CGI
スクリプトのみであることを示すという追加の効果があります。
Redirect
ディレクティブはクライアントに違った
URL に新しいリクエストを送るように指示します。これは、
リソースが新しい場所に移動したときによく使用されます。
URL を操作するためのより強力で柔軟なディレクティブ群は mod_rewrite
モジュールにあります。
構文: Alias URL-path
file-path|directory-path
コンテキスト:
サーバ設定ファイル、バーチャルホスト
ステータス: Base
モジュール: mod_alias
Alias ディレクティブはドキュメントをローカルファイルシステムの DocumentRoot 以外の場所に保管することを可能にします。Url-path (% が復号された) で始まるパスの URL は directory-filename で始まるローカルファイルにマップされます。
例:
Alias /image /ftp/pub/image
http://myserver/image/foo.gif へのリクエストに対して、サーバは ファイル /ftp/pub/image/foo.gif を返します。
もし url-path の最後に /
を書いたなら、サーバはエイリアスを展開するために最後の /
を要求するということに注意してください。すなわち、Alias /icons/
/usr/local/apache/icons/
というものを使用していると、
/icons
という url はエイリアスされません。
エイリアスの行き先を含んでいる <Directory>
セクションを追加する必要があるかもしれないことに注意してください。
エイリアスの展開は <Directory>
セクションを調べる前に行なわれますので、
エイリアスの行き先の <Directory>
セクションのみ
効果があります。
(しかし、<Location>
セクションはエイリアスが処理される前に実行されますので、
こちらは適用されます。)
ScriptAlias も参照してください。
構文: AliasMatch regex
file-path|directory-path
コンテキスト:
サーバ設定ファイル、バーチャルホスト
ステータス: Base
モジュール: mod_alias
互換性: Apache 1.3
以降で使用可能
このディレクティブは Alias
とほとんど同じですが、簡単な先頭からのマッチを行なうのではなく、
標準正規表現を利用します。ここで指定された正規表現と URL-path
が合うかどうかを調べ、合う場合は括弧で括られたマッチを
与えられた文字列で置き換え、それをファイル名として使用します。たとえば、
/icons
ディレクトリを使用するようにする
ためには以下のようなものが使用できます:
AliasMatch ^/icons(.*) /usr/local/apache/icons$1
構文: Redirect [status]
URL-path URL
コンテキスト:
サーバ設定ファイル、バーチャルホスト、
ディレクトリ、.htaccess
上書き: FileInfo
ステータス: Base
モジュール: mod_alias
互換性: ディレクトリと
.htaccess のコンテキストは 1.1 以降のみ。Status
引数は Apache 1.2 以降。
Redirect ディレクティブは古い URL を新しいものへマップします。 新しい URL がクライアントに返されます。そして、 クライアントは新しいアドレスをもう一回取得しようとします。 URL-path (% が復号された) パスで始まるドキュメントへの すべてのリクエストは URL で始まる新しい (% が符号化された) URL へのリダイレクトエラーが返されます。
例:
Redirect /service http://foo2.bar.com/service
クライアントは http://myserver/service/foo.txt へのリクエストを行なうと、代わりに http://foo2.bar.com/service/foo.txt をアクセスするように告げられます。
注意: 設定ファイル中の順番に関わらず、Redirect ディレクティブは Alias ディレクティブと ScriptAlias ディレクティブよりも優先されます。 また、.htaccess ファイルや <Directory> セクションの中で使われていたとしても、URL-path は相対パスではなく、絶対パスでなければなりません。
もし status 引数が与えられていなければ、リダイレクトは "temporary" (HTTP ステータス 302) になります。これはクライアントに リソースが一時的に移動したということを示します。Status 引数は 他の HTTP のステータスコードを返すために使用することができます:
Status の値にステータスコードを数値で与えることで
他のステータスコードも返すことができます。ステータスが 300 と 399
の間にある場合、url 引数は存在していなければいけません。
その他の場合は省略されていなければなりません。ただし、
ステータスは Apache のコードが知っているものである必要があります
(http_protocol.c の関数 send_error_response
を見てください)。
例:
Redirect permanent /one http://example.com/two
Redirect 303 /two http://example.com/other
構文: RedirectMatch
[status] regex URL
コンテキスト: サーバ設定ファイル、
バーチャルホスト、ディレクトリ、.htaccess
上書き: FileInfo
ステータス: Base
モジュール: mod_alias
互換性: Apache 1.3
以降で使用可能。
このディレクティブは Redirect とほとんど同じですが、簡単な先頭からのマッチを行なうのではなく、 標準正規表現を利用します。ここで指定された正規表現と URL-path が合うかどうかを調べ、合う場合は括弧で括られたマッチを 与えられた文字列で置き換え、それをファイル名として使用します。 たとえば、すべての GIF ファイルを別サーバの同様な名前の JPEG ファイルにリダイレクトするには、以下のようなものを使います:
RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg
構文: RedirectTemp URL-path
URL
コンテキスト: サーバ設定ファイル、
バーチャルホスト、ディレクトリ、.htaccess
上書き: FileInfo
ステータス: Base
モジュール: mod_alias
互換性:
このディレクティブは Apache 1.2 以降でのみ使用可能
このディレクティブはクライアントに Redirect
が一時的なものである (ステータス 302) ことを知らせます。
Redirect temp
とまったく同じです。
構文: RedirectPermanent
URL-path URL
コンテキスト: サーバ設定ファイル、
バーチャルホスト、ディレクトリ、.htaccess
上書き: FileInfo
ステータス: Base
モジュール: mod_alias
互換性:
このディレクティブは Apache 1.2 以降でのみ使用可能。
このディレクティブはクライアントに Redirect が永久的なもの
(ステータス 301) であることを知らせます。
Redirect premanent
とまったく同じです。
構文: ScriptAlias URL-path
file-path|directory-path
コンテキスト:
サーバ設定ファイル、バーチャルホスト
ステータス: Base
モジュール: mod_alias
ScriptAlias ディレクティブは、対象ディレクトリに mod_cgi の cgi-script ハンドラで処理される CGI スクリプトがあることを示す以外は Alias ディレクティブと同じ振る舞いをします。URL-path (% が復号された) パスで 始まる URL はローカルのファイルシステムの フルパスである二番目の引数にマップされます。
例:
ScriptAlias /cgi-bin/ /web/cgi-bin/
http://myserver/cgi-bin/foo へのリクエストに対してサーバはスクリプト /web/cgi-bin/foo を実行します。
構文: ScriptAliasMatch regex
file-path|directory-path
コンテキスト:
サーバ設定ファイル、バーチャルホスト
ステータス: Base
モジュール: mod_alias
互換性: Apache 1.3
以降で使用可能
このディレクティブは ScriptAlias
とほとんど同じですが、簡単な先頭からのマッチを行なうのではなく、
標準正規表現を利用します。ここで指定された正規表現と URL-path
が合うかどうかを調べ、合う場合は括弧で括られたマッチを
与えられた文字列で置き換え、それをファイル名として使用します。
たとえば、標準の /cgi-bin
を使用するようにするためには、以下のようなものを使います:
ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1