.htaccess - mod_alias
Alias ディレクティブ
Alias ディレクティブは、ドキュメントを DocumentRoot ディレクティブで設定した ディレクトリパス以外の場所に保存することを可能にします。指定した url-path
が file-path
、または directory-path
を参照します。
# Alias ディレクティブの設定例
Alias URL-path file-path|directory-path
下記の例では、/image
ディレクトリへのリクエストに対して、サーバは /ftp/pub/image
ディレクトリを返します。
# Alias ディレクティブの設定例
Alias /image /ftp/pub/image
本ディレクティブは、完全なパスセグメントが一致した場合のみ処理されます。そのため、url-path
の最後に /
を付けた場合、例えば /image/
は /image
という URL にエイリアスされません。
また、本ディレクティブと他のディレクティブとの処理の順番に注意して下さい。複数の Alias ディレクティブや、Redirect ディレクティブが同じ設定ファイルの中にある場合は、常に Redirect が先に処理されます。次に Alias が上から順番に適用され、最初にマッチングした設定が優先されます。
Redirect ディレクティブ
Redirect ディレクティブは、クライアントへリクエストした URL とは異なる URL を取得するように外部へのリダイレクトを送ります。リダイレクト元の URL は、/
で始まるパスである必要があります。リダイレクト先の URL は、http:
などのスキームで始まる絶対 URL を指定するべきですが、/
で始まるものも使用可能です。その場合は、現在のスキームとホスト名が追加されてリダイレクトされます。
# Redirect ディレクティブの設定例
Redirect /service http://foo.example.com/service
本ディレクティブは、パスセグメントが完全に一致したものがマッチします。正規表現を使ったより複雑なマッチングを行いたい場合は、RedirectMatch ディレクティブを参照して下さい。
また、本ディレクティブでは、status
を与えることで、HTTP ステータスコードを返すことができます。status
が指定されていないリダイレクトの場合は、"temporary" (HTTP ステータス 302) になります。
値 | 説明 |
---|---|
permanent | 恒久的にリダイレクトをするステータス (301) を返します。これはリソースが恒久的に移動したということを意味します。 |
temp | 一時的なリダイレクトをするステータス (302) を返します。 |
seeother | "See Other" ステータス (303) を返します。これはリソースが他のもので置き換えられたことを意味します。 |
gone | "Gone" ステータス (410) を返します。これはリソースが恒久的に削除されたことを意味します。このステータスが使用された場合、リダイレクト先の URL は省略されなければなりません。 |
(ステータスコード) | ステータスコードを数値で与えることで他のステータスコードも返すことができます。ステータスコードが 300 ~ 399 までの場合、リダイレクト先 URL は存在していなければいけません。その他のステータスコードの場合は、省略されていなければなりません。 |
# Redirect ディレクティブの設定例
Redirect permanent /one http://example.com/two
Redirect 303 /three http://example.com/other
RedirectMatch ディレクティブ
RedirectMatch ディレクティブは、Redirect ディレクティブとほぼ同じですが、正規表現を用いたマッチングを行う点が異なります。以下の例では、すべての GIF ファイルを別サーバの同じ名前の JPEG ファイルに後方参照を利用してリダイレクトしています。
# RedirectMatch ディレクティブの設定例
RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg
RedirectPermanent ディレクティブ
RedirectPermanent ディレクティブはクライアントに Redirect が永久的なもの (ステータス 301) であることを知らせます。Redirect ディレクティブの permanent ステータス設定と同じです。
RedirectTemp ディレクティブ
RedirectTemp ディレクティブはクライアントに Redirect が一時的なものである (ステータス 302) ことを知らせます。Redirect ディレクティブの temp ステータス設定と同じです。
関連記事
- .htaccess - コア機能
- .htaccess - mod_actions
- .htaccess - mod_auth_basic
- .htaccess - mod_authn_default
- .htaccess - mod_authn_file
- .htaccess - mod_authz_default
- .htaccess - mod_authz_groupfile
- .htaccess - mod_authz_host
- .htaccess - mod_authz_user
- .htaccess - mod_autoindex
- .htaccess - mod_env
- .htaccess - mod_expires
- .htaccess - mod_filter
- .htaccess - mod_headers
- .htaccess - mod_imagemap
- .htaccess - mod_include
- .htaccess - mod_mime
- .htaccess - mod_negotiation
- .htaccess - mod_setenvif
- .htaccess - mod_dir
- .htaccess - mod_rewrite