引越し前のドメインから、引越し先のURLへリダイレクト
わけもわからず書いていたんですが、詳しく教えてもらってすっきりしたので覚え書きです

サイト全体を新ドメインのトップへ転送

基本的な書き方
全てのページを新しいドメインに転送。

RewriteEngine on
RewriteRule ^(.*)$ http://新しいドメイン/ [R=301,L]

「(.*)」でとにかく何でもいい文字の連続。ようするにサイトのURL全て。
「[R=301]」でリダイレクト。URLを書き換える。
「[L]」で、条件にマッチしたらそこで終了する。

ドメイン名のみ変更

同じ構造の場合はこれ。
「$1」に値を渡すので、
http://古いドメイン/about.html → http://新しいドメイン/about.html のように使える。

RewriteEngine on
RewriteRule ^(.*)$ http://新しいドメイン/$1 [R=301,L]

「RewriteBase」は指定しなくてもよい。
指定することで、そのあと書く記述でディレクトリ名が省略できるというもの。

記述方法メモ

「permanent」と「301」は同じ意味。
下記の書き方もできるが、「RewriteRule〜」の方が条件をいろいろつけることができておすすめ。
※Mod-Rewriteをサポートしていない場合は下の記述じゃないと動かないらしい。
Redirect permanent / http://新しいドメイン/
Redirect 301 / http://新しいドメイン/
※一時的な転送の場合は
Redirect 302 / http://新しいドメイン/

同じドメイン内で指定したとき、転送元を「/」で終わる記述にすると
/以下がすべて転送されるので、ループしてしまう。「/index.html」などにする必要がある。
Redirect 302 blog/index.html http://新しいドメイン/newblog/

「RewriteBase」は指定しなくてもよい。
指定することで、そのあとの記述でディレクトリ名が省略できるというもの。

正規表現について

以下の文字はメタ文字と呼ばれる特殊文字になる。

.   ^   $   [   ]   *   +   ?   |   (   )

普通に解釈したい場合は、最初に「\」をつける。(例:\.)
「\」自体は「\\」と記述する。
※言語環境によって、\(バックスラッシュ)は¥(円マーク)になる。

「^あん$」で 最初の文字は「あ」で始まり、最後の文字は「ん」で終わるという意味
「あん$」にすると、「abcあん」でも「123あん」でもOK。「あんabc」は「ん」で終わってないからだめ。
「^あん」にすると、「あんabc」でも「あん123」でもOK。「abcあん」は「あ」で始まってないからだめ。

参考サイト

Apache : mod_rewriteリファレンス – dawgsdk.org
詳しい→ core – Apache HTTP サーバ
サルにもわかる正規表現入門