WordPressのサーバーお引越しで「無効なURLです。」が消えなかった理由

サイトをお引越ししたら、
こんなエラー画面になって
お困りではないでしょうか?

【無効なURLです。
プログラム設定の反映待ちである可能性があります。
しばらく時間をおいて再度アクセスをお試しください。】

「しばらく時間をおいて」っていうので、私は待ってしまいました。

・・しかし、2日経っても変わりません。

流石におかしいと思い、調べたところ
「SSL設定」が原因だったんです。

 

SSLを直したらエラーはすぐ治りました。
これは待ってても治りませんよー。

同じところで困っている方は
ひょっとしたらこれが原因かも…?

 

「無効なURLです」と表示される理由

SSL設定、していませんか?

ちょっとややこしい話で恐縮ですが・・・

お引っ越し前のさくらサーバーでは
SSLという「セキュリティ設定」をしていました。

最近のサイトは、みんなしていると思います。

設定すると、アドレスが

http://wp-firststep.com  から
https://wp-firststep.com 

に変わります。Sがつくんですね。

 

このように、アドレスが変わるので

間違ってSがない方のアドレスに
アクセスしてしまったお客様のために


あび

httpの、Sがない方にアクセスしてきた方がいらしたら
httpsの、Sつきのアドレスに、転送してあげてね

 

と、但し書きをしておくんです。
この但し書きが、今回の原因でした。

サーバーお引っ越しの手順

お引っ越しの手順を追って説明しましょう。

今回、「さくらサーバー」で使っていたサイトを
「エックスサーバー 」に引っ越しました。

1 ドメイン登録

エックスサーバーに、
さくらサーバーで現在使っているアドレス(ドメイン)を登録する。

 

2 WordPressインストール

とりあえずエックスサーバーに新しくWordPressをインストールして
データベースのIDとPWをつくる。

 

3 データダウンロード

さくらサーバーから、引っ越ししたいサイトの
データ(データベースとファイル)をダウンロードして

4 ID・パスワード書き換え

データベースのIDとパスワードを、
新しく作ったエックスサーバーのIDとパスワードに書き換えます。

 

そろそろ訳が分からなくなって来ましたね(笑)

さらっと、こんな流れだということだけ
見ていただければ大丈夫です。

5 引っ越し先にデータをコピーする

そして、作ったデータを
エックスサーバーのWordPressに上書きしてコピーします。

これで。もとのサイトと全く同じデータが入ったことになります。

 

6 ドメイン設定変更

あとは、ドメインを登録してるところ
(ムームードメインや、お名前ドットコムなど)に
このアドレスは、エックスサーバーに引っ越したよ、とお知らせします。

今までさくらサーバーに設定していたところをエックスサーバーに変更し、
(反映したら)元のサイトのデータを消して全て完了です!

 

という手順でございました。

 

 

ここで見落としていたのは

手順 1番 だったんです。

新しいドメインを、エックスサーバー に登録しました。
この時、エックスサーバーのアドレスは「http」なんです。

まだSがついていません。

そうなんです、初めからSはついていないので、
「https」にするときは、エックスサーバーに
別に設定をしないといけないんです。

それに気づかず、5番で、さくらサーバーで使っていた
データを全部コピーしてしまいました。

但し書きもそのまま、まるっとです。

 

 

そのため、こんな状態になっていました。

【元のサイト】

① httpsにしてね、と言われましたが、
さくらサーバーはSSL設定済みなのでOKです。

それを、エックスサーバー にそのままコピーしてしまうと・・

【コピーしたサイト】

① httpsにしてね、って言われても・・

あれ、まだ、SSL設定されていないみたい。
httpsに飛ばしてくれ、って言われてもなー


あび

なんかね、SSLまだみたいよ

というわけで冒頭の画像が出るんです。

「SSLの、設定してるんなら反映待ちじゃないの?」っていう意味だったんですね。

もちろん、SSL設定してあげるまで、この表示は治りません。

 

じゃあ、そのままエックスサーバーで
SSL設定しちゃえばいい?

ちょっと気になったので、ファイルを確認してみたところ・・・

 

さくらサーバーの.htaccess記述に注意!

httpsに転送してね、という但し書きは
「.htaccess」というファイルに書きます。

さくらサーバーで使っていたデータに
なんて書いてあるか、確認してみました。

そうしたら、こんなでした。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteCond %{REQUEST_URI} !/wp-cron\.php$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

# END Force SSL for SAKURA
# BEGIN SAKURA Internet Inc.
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
<FilesMatch “\.(css|js)$”>
ExpiresDefault “access plus 1 week”
</FilesMatch>
<FilesMatch “\.(gif|jpe?g|png)$”>
ExpiresDefault “access plus 1 month”
</FilesMatch>
</IfModule>
# END SAKURA Internet Inc.

# 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

さくらサーバー独自の記述がたっぷり!

これはエックスサーバーではいらないですね。。

残っていても、関係ないので問題ないかもしれませんが
どう作用するかわかりませんので、
いらない記述は消しておいた方が良いでしょう。

というわけで、一旦.htaccessは消して
エックスサーバーで作り直したのでした。

同じトラブルに遭った方は、SSL設定をチェックしてみてね!

Follow me!

「猫でもわかる!」くらい簡単にわかりやすく、WordPressの使い方をサポートする、WordPressソムリエです。デザインを学んだ後、なぜかレストランでワインサービスに従事。絵も描けるワインソムリエでした。その後大手通信会社に勤めIT・Webの各種サポートを経験。ソムリエもWebも常に「専門知識をお客様に合わせてわかりやすくご提案し、期待以上のサービスをする」ことをモットーとしています。テクニカルサポートの経験は、通算1,100人以上。現在はWebデザイン・ディレクターをしながら、ブログ集客をしたい方へWordPressの制作、使い方のレクチャーなどを行っています。