※ ChatGPTを利用し、要約された質問です(原文:ホームページのリダイレクト失敗で無限ループへ)
ホームページのリダイレクト失敗で無限ループへ
このQ&Aのポイント
htaccessでのサイト引越しに失敗し、無限ループに入ってしまったため、サーバ内のホームページへのアクセスができなくなりました。
ドメイン1とドメイン2のサイトを別々のフォルダに設置していましたが、ドメイン1のフォルダを一つ下の階層に移動したかったため、.htaccessを使用してリダイレクトを設定しましたが、間違ってドメイン2のアドレスを記述してしまいました。
このループを抜けるためには、.htaccessに正しいリダイレクト設定を記述する必要があります。ドメイン1へのアクセス時には、NEWフォルダ内のindex.htmlにリダイレクトをかけ、ドメイン2へのアクセス時には正常にアクセスできるようにする必要があります。
.htaccess でサイトの引越しを試みましたが失敗して無限ループに入ってしまい、サーバ内のホームページへアクセスすることができなくなりました。
いろいろ調べてみてもどうしてもわからないので質問させてもらっています。わかる方がいましたら解決方法を教えていただきたいです。よろしくお願いします。
さくらインターネットのサーバ内に2つのホームページをそれぞれのドメインで設置しています。ドメイン名は例、( )内は(サーバ内ディレクトリ)です。
ドメイン1:example1.com (home/example/www)
ドメイン2:example2.com (home/example/www/NEW)
ドメイン1の階層を一つ下に移動したかったのでOLDというフォルダを作り、www 階層のドメイン1関連ファイルを全てOLDに移動し、.htacccess をwwwの階層に設置しました。記述内容は以下です。
RewriteEngine on
RewriteRule (.*) http://www.example2.com/$1 [R=301,L]
htaccess のリダイレクトの書き方をネットで検索し、なんとなくマネて書きました。移動したいサイトはドメイン1だったのですが、間違ってドメイン2を記述内に書き込んでしまいサーバへアップロードしました。ドメイン1サイトへアクセスすると、
「ページの自動転送設定が正しくありません。このアドレスへのリクエストに対するサーバの自動転送設定がループしています。」
と表示がでて、アドレスバーには、www.example2.com/NEW/NEW/NEW/NEW/NEW/NEW/NEW/NEW/ と表示されました。慌てて htaccess をサーバから削除して、ドメイン1関連ファイルを全て元の位置に戻しましたが、アクセスしても同じようにループに入ったアドレスが表示されるようになりました。ドメイン2へアクセスして同じループに入ってしまいます。
どうしたらこのループを抜けれるのでしょうか?
ドメイン1は サーバ内の home/example/www/OLD、ドメイン2はそのまま(home/example/www/NEW)へ移動したいです。どう htaccessに記述すれば、(www.)example1.comへアクセスした際にNEWフォルダ内のindex.html へリダイレクトをかけれますか?(www.)example2.comへのアクセスができるようになるためにはどうしたら良いでしょうか?
ちなみにサイトの移動はhtmlファイルが多いので .htaccess で行いたいです。
本当にどうすれば良いかわからず困っています。
わかる方がいましたら、宜しくお願い致します。
お礼
notnotさん、 ブラウザのクッキーを削除したらアドバイスいただいた記述で成功しました! 特に >ドメイン1とドメイン2を区別してそれぞれに異なったリライトが必要 というところは非常に助かりました。 有難うございました!
補足
notnotさん、早速のアドバイス本当にありがとうございます! 説明がわかりづらくてすみませんっ。 同じサーバ内 /home/example配下で2つのドメインを別々の内容が共存しています(階層は別)。 やりたかったことは、ドメイン1(example1.com)へのアクセスを OLD フォルダの中へ引越したindex.html へリダイレクトをかけたい、ということです。 教えて頂いた方法を早速試させていただきましたが、恐らく自分のやり方が悪く、状況が改善しません。アドレスバーには、www.example2.com/NEW/NEW/NEW/NEW/NEW/NEW/NEW/NEW/ と表示され、ドメイン1と2のどちらにもアクセスできません。まだループしている様です。 .htaccessをサーバから削除して後も同じ現象がみられます。 以下の方法はどこが間違っていますでしょうか? ---------------------------------------------- .htaccess に RewriteEngine On RewriteCond %{HTTP_HOST} !^www.example1.com$ RewriteRule (.*) /OLD/$1 [L] を記述し、サーバの/home/example/www にアップロード 少し時間を置いてから数度トライしてみるも、結果は同様 ---------------------------------------------- 他にもこのアドバイスを中心に試してみましたがうまくいきませんでした。 ちなみに、さくらインターネットのドメイン設定では、 ドメイン1のパス / ドメイン2のパス /NEW となっています。 ご面倒をおかけしておりますが、よろしくお願い致します!