お名前サーバー→Xサーバーで404エラーが出る原因と解決法(.htaccess弄らない&パーマリンク変更不要)

どうも!

お名前.comからXサーバーに移転移管完了しました!

移転移管作業は順調に…いかず…

Xサーバーのマニュアル通りにやっても全くダメでした。

ログイン画面は404エラー

HOMEしか表示されない

トップしか表示されない

こんな感じ。

ネットで検索するも、同じ症状な挙句、あんまり解決できてない。

Xサーバーのマニュアルでは

.htaccessの内容を変える

パーマリンクを変える

という解決法が書いてありましたが、これでもSiteGuardを入れたりしているとうまく行きません。

結局

思い付きでやった行動で見事に成功

Xサーバーに現在の構成のまま運用して、Xサーバーが適用している高速化などの施策や、その他サービスが正常に使えるのか?をデータ内容などやり取りした結果

その設定ですべてうまく行く

との回答を得ました!!!!お墨付き!

という事で、この方法について書いて行きます。

スポンサーリンク

通常の方法(失敗例)

お名前.comの構成から

FFFTPもしくはSDサーバーのコントロール側からアクセスするとまずこれ(SSLはない)になってると思います。

そして対象のドメインをクリックすると

この画面になります。

「wp」をクリックしてフォルダを開くとこの状態になってますよね?

お名前.comの構成の場合

・wp(フォルダ)

・.htaccess

・index.php

というフォルダの階層があって、そのwpフォルダを開くと上の画像のように

・wp-adminフォルダ

・wp-contentフォルダ

・wp-includesフォルダ

・.htaccess

・index.php

・その他PHPなど多数

という階層構造になっていると思います。

階層は違えど

「.htaccess」が2つ

「index.php」が2つ

ある事に気が付くと思います。

ちなみにそれぞれの中身を足すという方法を取ってみましたが、それでもだめでした。

まずこれを覚えておいてください。

Xサーバーの場合の構成

この画面にまずなります。そして対象のドメインをクリックすると

この画面になると思います。

・wp(フォルダ)

・.htaccess

・index.php

お名前でいう所の↑がある場所ですが、Xサーバーでは違います。

あそうか!と、この部分に「wpフォルダ」や「.htaccess」「index.php」を配置してもダメなのでお気を付けください。

そして上の画像の「Public_html」をクリックすると↓

このようにwpコンテンツが並んでいます。

「.htaccess」「index.php」それぞれ一つしかありません。

この構造も覚えておいてください。

404エラーやトップ画面しか映らなくなる元凶

この方法自体は問題ないですが、ちょっとした落とし穴になっている行動があります。

  1. Xサーバーにて使ってるドメインで自動インストールを使いWordpressを設置
  2. 「phpMyAdmin」を使用してデータベースバックアップをインポート
  3. FFFTPでXサーバーにアクセスし、Wordpressのデータを上書き

この方法が一番問題が起こりにくい方法です。

ですがこれが元凶でもあるんです。

お名前.com以外のサーバーからの移転移管なら問題ないかもしれません、構造が同じとか。

お名前.com以外のサーバーでも同じような状況に陥っているなら試してみてください治ります。

「移転、移管が完了するまでこれが普通なのかな?」

私もこう思っていたのですが普通ではありません。

移管移転作業中でも、アクセスする側がどっちのサーバーにつながるか分からないだけで、ずっと正常に表示されるのが普通です。

当然ログインも出来ますし記事も書けます。

「じゃあなぜ?」

構造が違うんです。

解決方法

今から画像が並びますが、そのような構造になるように配置してください。

「Public_htmlフォルダ」の中に

この「wpフォルダ」の中に

つまり一回層間に挟むんです。

一々すべてを消す必要はありません。

コマンドでwpフォルダをwp-adminやwp-contentがある階層に作る。

その後、新しく作ったwpフォルダの中にwp-adminやwp-contentやその他すべてのものを入れる(シフト押したままwp以外を全て選択しドラッグ&ドロップ)

そしたらこの階層にはwpフォルダしかない状態になりますので、お名前.comの↓

にある「.htaccess」「index.php」を同じように配置(wpフォルダの中にあるものではなくwpフォルダと同じ階層のもの)

その後XサーバーのWordpress移転移管マニュアルに書いてある通り「wp-config.php」を書き換えればOK。

ただし、お名前.comにて「.htaccess」を高速化する為にモジュールを書いてる場合もある(私もそうでした)場合は、そのままでも大丈夫なんですが、お名前のものなので嫌なら消してしまって大丈夫。それ以外でWordpressに変更を加える為に書いたものは書き換えなくて大丈夫。

例えば

<IfModule mod_deflate.c>

<ifModule mod_expires.c>

などこちらのページの設定を使用している方は消してしまいましょう。

一応初期状態を書いておきます。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

これがwpフォルダと同じ階層にある「.htaccess」の中身。

分からなかったらこれを丸々コピーペーストしておけば大丈夫!

注意点として

wpフォルダの中にある「.htaccess」や「index.php」

は書き換えずそのままで大丈夫!

書き換えるのはwpフォルダと同じ階層にある「.htaccess」だけです。

あとXサーバーのマニュアルにある通り「wp-config.php」も当然。

最後に

説明が下手なんで分かり難いかもしれませんが、分からないことあったらコメントください!

Xサーバーにこのように一階層追加した状態でも大丈夫?とやり取りしましたが、全く大丈夫、Xサーバーの利点もそのまま使用できると返答いただいております。

是非私のようにXサーバー移転移管で困ってる方、これから移転移管しようとしている方は参考にしてください。

一見Xサーバーの方が高く見えますが、速さが段違いですし、SSLがドメインすべてで無料だったりするので結果的に全然安い。

是非お試しあれ

Xサーバー公式サイトはこちら

月額900円(税抜)から、高速・多機能・高安定レンタルサーバー『エックスサーバー』

エックスサーバーへの移転完全マニュアル作りました!

エックスサーバーへの完全移転マニュアル①(作業前に説明)