WordPressのインストール先を”https://dmain/blog/”から”https://blog.dmain/”に設定変更する機会がありましたので、その記録を残しておきます。
※WordPressファイルを配置しているディレクトリに変更はありません。
※サーバーはXserverです。
サブドメインの手続き
Xserverの管理画面でサブドメインの手続きを行います。
※サブドメインの反映まで1時間程度かかりました。
WordPressの管理画面でURLの設定変更
WordPressの管理画面から、「設定」→「一般」と進み、「WordPressアドレス」と「サイトアドレス」に新規のサブドメインを入力する。
ファイル内のURLの書き換え
WordPressをインストールしているサーバーにSSHで接続し、grepコマンド等でURLが記載されている箇所を見つけて書き換える。
(grepコマンド例)
1 |
grep -rnw . -e "domain/blog" |
DB内のURLの書き換え
DBのレコードについてもURLを書き換える必要がある。SQL等で直接URLを書き換えるとデータに不整合が出るらしいので、専用のツールやプラグインを利用する。
ツールの”Database Search and Replace Script in PHP”の利用
WordPressのドメインを変更する際に用いられるDBの書き換えツール。使い方は以下の通り。
- 公式サイト(https://interconnectit.com/products/search-and-replace-for-wordpress-databases/)にアクセスし、必要項目にチェックを入れて「submit」ボタンをクリック。
- メールが届くので、リンクをクリックしてツールをダウンロード。
- zipファイルを展開し、SCP等でWordPressをインストールしたディレクトリに配置。
- ブラウザで”http://blog.domain/Search-Replace-DB-master”にアクセス。
- 必要項目を入力してDBの書き換え。
※参考URL:https://junjun-web.net/tool/search-replace-db-master/
WordPressプラグインの”Regex”の利用
上記の”Database Search and Replace Script in PHP”のみだと、記事内の画像のパス等が変換されていなかった。WordPressプラグインの”Regex”を利用して、記事内のURLを一括置換した。
WordPressの管理画面からテーマで用いる画像パスの変更
上記の “Database Search and Replace Script in PHP”と”Regex”を利用してURLを置換してもなお、以前のURLが残っていた。色々調査してみると、テーマで用いる画像のパスだった。僕の場合はテーマに”Cocoon”を用いていたので、WordPressの管理画面から「Cocoon設定」をクリックして1つずつ設定変更した。
以上です。もっとスマートなやり方がありそうですが、参考になれば幸いです。
コメント