先日、ロリポップからmixhostにサーバを移行しました。

ただ、mixhostにデータ移行後、hostsファイルを書き換えて動作確認した時に、サイトのトップページ以外で404エラーが出てしまいました。
今回は404エラーの原因と対象方法についてまとめました。
発生した事象はトップページ以外が全て404エラー
データ移行後、トップページは正常に表示されますが、その他のページは404エラーとなりました。
画面左下に「LiteSpeed Web Server」と表示されているので、mixhostのサーバ(litespeed)で404エラー画面を表示していることがわかります。
404エラーとは
404エラーとは、サイト上の存在しないページにアクセスした時に発生するエラーです。一般的にはURLを間違って入力したり、リンク切れのURLにアクセスした時に見るエラーです。
しかし、今回はサイト移行後に急にトップページ以外が404エラーになっており、ページがないというようりも何かの設定を見直した方が良さそうです。
サーバ移行時の404エラーの原因
「.htaccess」ファイルの中身が変わったから?
色々と調査した結果、どうやら原因は「.htaccess」ファイルのようです。
私の場合、サーバ上の「.htaccess」ファイルを確認したところ、以下の記載のみとなっていました。
「RewriteEngine on」
何だこれは!?と思い、mixhostのサポートセンタに以下の2点を質問しました。
- 「.htaccess」ファイルはサイト移行に伴い、変更されるのでしょうか?
- 変更される場合はその理由と内容を教えてもらえませんか?
それに対する回答がこちらです。
「RewriteEngine on」の記載は各サイトドメイン設定時に(/public_html以下の.htaccessとして)デフォルトで設定されますが、設定値としては途中で変更されることはございません。
ん、、、??
ここまでようやく中身が変わったのではなく、「.htaccess」ファイルが正しくアップロードできていないかも?ということに気がつきました。
原因は「.htaccess」ファイルを移行前のサーバからダウンロードできてなかった
改めて調査すると、どうやら私は移行前のサーバからファイルをダウンロードする時に「.htaccess」ファイルをダウンロードできていなかったようです。
ダウンロードできなかった理由は、私が使用しているFTPソフトのCyberduckの設定で「.(ドット)」から始まるファイルを表示していなかったことが原因です。
サーバ移行時の404エラーの対処方法
サーバ移行時の404エラーへの対処は以下の通りです。
というわけでここではFTPソフトでアクセスした時でも「.htaccess」ファイルを表示させる方法についてご紹介します。
FTPソフトCyberduckで.htaccessファイルを表示する方法
FTPソフトCyberduckで、「.(ドット)」から始まるファイル(.htaccessファイル)を表示する方法についてご紹介します。
まずはCyberduckを起動し、Cyberduckの環境設定を選択します。
続いて、環境設定のブラウザで「’.’から始まるファイルを表示」にチェックをつけます。
すると、サーバ上で「.htaccess」ファイルが表示されるようになります。
移行前のサーバから「.htaccess」ファイルを取得し、移行先サーバにアップすると事象解決
ここで、改めて移行前のサーバから再度「.htaccess」を取得し、mixhostのサーバにアップロードしてみると、無事全てのページが正常に表示されるようになりました。
いやー、良かったです。笑
それにしてもmixhostのサポートセンタは回答が早く、良いヒントをくれたので助かりました。やはりレンタルサーバはサポートが充実している方が良いですね。
コメント