この3ヶ月ちょっとの間、サイトの引っ越しをしてました。仕事でね。
しかも5個ね。
しかもその5個とも古いMTでどうにもならなくて、WPで作り直してからっていうね。
さらに初めてのエックスサーバーっていうね。
もう地獄以外の何者でもないよね(´・ω・`)
…そんな修羅場を一人で切り抜けやりきった感でいっぱいの今、盛大につまづいた3か所を忘れないようにここに記すよー。
前提|私がやった、エックスサーバーでの構築手順
- 1.契約時にデフォルトであるディレクトリで構築
- 2.FTPでサイトデータを本番ディレクトリにコピー
- 3.DBに入って、ドメイン部分を書き換え(DBが変わる場合は、wp-config.phpを修正)
- 4.サイト直下にある.htaccessの書き換え
- 5.DNS書き換え
今回は複数同時進行で作業していたのでどこでも何かしらの作業できるように、
ローカルでテンプレートだけ作って、その他の部分(コンテンツなど)はサーバーでコンテンツコピペしながら構築、という流れにしました。
なぜこの手順になったのかは、エックスサーバーの罠にハマったからです。。。理由は後ほど。
今回はDBの移行はしていないので、それについては一切触れませんのであしからず。
初めてのエックスサーバーでつまづいたポイントは2つ!
エックスサーバーで独自ドメイン設定時ディレクトリは選べない
エックスサーバーで独自ドメインを追加すると、ディレクトリが自動で生成されます。
どういうことかというと、独自ドメインの追加設定の画面では、
- ・ドメインの追加
- ・ドメインのディレクトリの初期化
- ・ドメインの削除
上記3点しか出来ないようになっています。
なので、独自ドメイン追加するときディレクトリは選べないので注意。
メリットとしては、ドメインごとに不可視エリアそれぞれ出来るので、セキュリティ対策しやすいかなーと。
(例えばwp-config.phpを1階層上に置いた場合、エックスサーバーなら不可視エリアに置くということなので)
独自ドメイン設定で出来たディレクトリは、DNS変更するまで動作確認できない
さらに注意点が。
追加してできたディレクトリでWP構築していこうとすると、動作確認ができません。
『動作確認URL』という設定をしても、トップページしか動作確認できません。
DNS変更するまでは見れなくなりますので注意。
なので、構築手順の1個目があるんです。
WPのURL書き換えでハマった罠は.htaccessの編集!
WPの管理画面、またはphpMyAdminでDBに入って、ドメイン部分を2か所書き換える作業ですが、ハマりました。
DBを修正するときは、wp_optionsテーブル(最初の設定で『wp_』が異なる場合もあるので注意)の中の、
- ・siteurl
- ・home
この両方を書き換えます。
もしくは管理画面 > 一般設定 のURLを編集します。
これだけ書き換えてサイトを見ていると、トップページは見れるけどその先(リンクなどをクリックした次のページ)が全く見れません。
サイトのディレクトリが変わる引越しの時は、.htaccessファイルも編集
画像やらPHPやら諸々のファイルを独自ドメインのディレクトリにコピーしたあと。
ディレクトリが変わる場合は.htaccessファイルも修正します。そうしないと2ページ目以降がエラーで表示されません。
サイトの直下にある.htaccessファイルを、以下の様に修正します。
[code]
# 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
[/code]
修正箇所は以下の2か所。
[code]
4行目のRewriteBase /独自ドメイン名/
8行目のRewriteRule . /index.php [L]
[/code]
初めてのエックスサーバーで、ドメインのディレクトリが設定できないところから始まった今回のつまずきだったのですが・・・
どこのサーバーでもできると思っていたことが他社では出来ないことがあるんだと、初めて知りました…(苦笑)。