• ベストアンサー

apacheのRewrite機能で同一ドメイン内のリダイレクトしたい

現在のサイトのTOPページを諸事情により、1つ下のディレクトリに変更したいと考えています。htmlでリダイレクトは出来るのですが、可能であれば、.htaccessでリダイレクトしたく、いろいろと方法をさがしており、Rewrite機能というのを使えば出来るらしいという事までは分かりました。しかし、具体的な方法が不明です。 現在のTOPページ:http://aaa.com/に来たアクセスをすべて、自動で新しいTOPページ:http://aaa.com/hoge/にリダイレクトさせたいと考えております。 分かる方、ご教授をお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • inoue_kou
  • ベストアンサー率57% (27/47)
回答No.2

ああ、ごめんなさい。質問内容をよく見ていませんでした。 rewriteで行うならこんな感じかと、 RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !hoge/.*$ RewriteRule ^(.*)$ hoge/$1 [R,L] 2行目:書き換えのベースとなるパスはドキュメントのルートディレクトリ 3行目:リクエストのURLにhoge/以下がない時に下のルールを適用する。(ループ防止) 4行目:/以下の全てのリクエストを、/hoge/以下に書き換える。 末尾のRは一時的な移動(レスポンスコード 302) ここをR=310にすると永久的な移動(レスポンスコード 301、検索エンジンも引き継がれる)

ironikani
質問者

お礼

ありがとうございます。 上記の方法で、完璧に解決できました。 本当に、ありがとうございました。

その他の回答 (1)

  • inoue_kou
  • ベストアンサー率57% (27/47)
回答No.1

「ミケネコの htaccess リファレンス」 http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/ 「目的別索引」内の「らくちんなサイト引越しメッセージ」はどうでしょう。

参考URL:
http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/
ironikani
質問者

補足

ご回答ありがとうございます。 上記のサイトを拝見しましたが、Redirect permanentでは、同一ドメイン内の場合、無限ループになってしまうため使えないようです。 同一ドメイン内で、ディレクトリだけを移動させたいと考えています。 何か良い方法はないものでしょうか?