質問: レンタルサーバで以下(●設定)のように複数独自ドメインを運用する場合、初期ドメイン(http://aaa.sakura.jp)からの接続はさせたくないので、全てhttp://bbb.com/にリダイレクトするように設定したいと考えております。 ●設定 | 列1 | URL | フォルダパス | | --- | --- | --- | | レンタルサーバの初期ドメイン | http://aaa.sakura.jp | / | | 独自ドメイン | http://bbb.com | /bbb/ | | 独自ドメイン | http://ccc.com | /ccc/ | --- 「/.htaccess」に「Redirect permanent / http://bbb.com/」と設定して保存して、URLをいくつか試したのですが、以下のようなURLの場合に想定した動きになってくれません。 ・接続)「http://aaa.sakura.jp/bbb/」⇨リダイレクト)「http://bbb.com/bbb/」 --- 希望の以下のようなリダイレクトなのですが、htaccessにどのように記載すればよいでしょうか? ▼希望の動き ・接続)「http://aaa.sakura.jp/」⇨リダイレクト)「http://bbb.com/」 ・接続)「http://aaa.sakura.jp/bbb/」⇨リダイレクト)「http://bbb.com/」 ・接続)「http://aaa.sakura.jp/ccc/」⇨リダイレクト)「http://bbb.com/」 ・接続)「http://aaa.sakura.jp/(その他存在しないパス)」⇨リダイレクト)「http://bbb.com/」
回答: `Redirect`ディレクティブは、ディレクトリ構造をそのまま保存しますので、常にトップページにリダイレクトしたいという場合には使えません。 また、`.htaccess`に置くと、どのホスト名でアクセスされてもリダイレクトします。 つまり、`Redirect permanent / http://bbb.com/`だと、 ・接続)「http://aaa.sakura.jp/bbb/」⇨リダイレクト)「http://bbb.com/bbb/」 ・接続)「http://bbb.com/xxx/」⇨リダイレクト)「http://bbb.com/xxx/」 ・接続)「http://ccc.com/yyy/」⇨リダイレクト)「http://bbb.com/yyy/」 Rewrite~ を使います。 ``` RewriteEngine On RewriteCond %{HTTP_HOST} ^aaa\.sakura\.jp$ [NC] RewriteRule .* http://bbb.com/? [R=301,NE,L] ```