URLパス変更(リダイレクト)

RedirectMatch ディレクティブ
説明: 現在の URL への正規表現のマッチにより 外部へのリダイレクトを送る
構文: RedirectMatch [status] regex URL
コンテキスト: サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess
上書き: FileInfo
ステータス: Base
モジュール: mod_alias

このディレクティブは Redirect とほとんど同じですが、簡単な先頭からのマッチを行なうのではなく、 標準正規表現を利用します。ここで指定された正規表現と URL-path が合うかどうかを調べ、合う場合は括弧で括られたマッチを 与えられた文字列で置き換え、それをファイル名として使用します。 たとえば、すべての GIF ファイルを別サーバの同様な名前の JPEG ファイルにリダイレクトするには、以下のようなものを使います:

RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg

Redirect ディレクティブ
説明: クライアントが違う URL を取得するように外部へのリダイレクトを 送る
構文: Redirect [status] URL-path URL
コンテキスト: サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess
上書き: FileInfo
ステータス: Base
モジュール: mod_alias

Redirect ディレクティブは古い URL を新しいものへマップします。 新しい URL がクライアントに返されます。そして、 クライアントは新しいアドレスをもう一回取得しようとします。 URL-path (% が復号された) パスで始まるドキュメントへの すべてのリクエストは URL で始まる新しい (% が符号化された) URL へのリダイレクトエラーが返されます。

Redirect /service http://foo2.bar.com/service

管理している.jpドメインを.ne.jpへ移行する必要ができたので、リダイレクトしつつpermanent(永続的移動)させるために調べてみました。apacheの機能と正規表現のすばらしさに感謝。