rewriteは結構奥が深いです。通所のリダイレクト処理であるならばそれほどでもないのですが、深まれば底なしです。rewriteが通常のリダイレクトと違うのはApacheサイドの作業なのでURLを保持したままリダイレクトするということです。実際のファイルの階層構造では行ったり来たり、ジャンプしたり、端折ったり、無視したり...といろいろやっていますが、URL上では酷くクールに見えるというわけです。rewriteの機能の特徴的な部分は、あたかもマルチドメイン的な振る舞いをする。(あたかもではなく、そのままマルチドメインになるわけですが...)動的なファイルをHTMLファイルなどに見せかけることができる。403とか)を拾ってリダイレクトしたりできる。いうところでしょうか?入門編だったらここでまでで充分です。マルチドメインあるホストに対して複数のドメインを向けるとその複数のドメインで同じホストサーバーを見ることができます。通常バーチャルドメインなどでも複数のドメインを単一のホストで処理することができますが、バーチャルホストではDocumentRootを指定してあげるという処理です。rewrite的なリダイレクトをかけて各ディレクトリにURLドメインを割り振ることができます。/home/user/www/sub/index.htmlこんな感じの設定です。通常/home/user/www/がDocumentRootだった場合は、単一のURLドメインでしか接続できません。rewriteを使うと1階層したのディレクトリをあたかもDocumentRootのように見せかけることができるわけです。/sub/どちらのURLも本来のDocumentRootにアクセスしてきます(/home/user/www/)。www.example.comアクセスしてきたものを/main/に放り込み、sub.example.comでアクセスしてきたものを/sub/以下に投げ込むというわけです。これらのドメインがネームサーバーでもってこのホストに向けられていることが前提になりますが。正規表現でのrewriteなので、^/$というようにスラッシュを入れても同じ意味(DocumentRootを指している)ということになると思いきや、エラーになりました。/fuga/と書きます。いわゆるindex.htmlとかindex.phpにアクセスがあった時のみリダイレクトということになります。/fuga/$1となります。この方法だと、ディレクトリの構造を保ったまま全部URLが書き換えられるので、端から見ればあたかも/fuga/にアクセスしているように見えます。URLが全く変わらないのに中身は全然違うところを指しているのがミソです。兄弟ディレクトリじゃなくても階層を上下してリダイレクトもできます。../fuga/$1カレントディレクトリにアクセスしてきたものを1階層上に上がってから別のディレクトリにアクセスしたりもできます。ここら辺りは自由に設定可能なので、よく使う設定例でいうとSSLの効いているディレクトリが別ディレクトリになっていてレンタルサーバーなんかで勝手に移動できないという時も便利です。https://xxxxxxx/fuga/$1hogeにアクセスしてきたものは、fugaに飛ばしつつhttps://でアクセスし直させることができます。