WordPressのマルチサイト化に失敗したので、少し順を追って解決方法を探ってみることにしました。失敗の原因を検索して見つけたこちらに拠ると、MySQLにあるBLOGに関してのデータベースから、以下のテーブルの値を確認する必要があるっぽいことがわかりました。
- wp_blogs
- wp_options
- wp_site
- wp_sitemeta
- wp_n_options
前にwp-config.phpの記載内容(URL情報)を書き換えましたが(サイトアドレスのURLとWordPressアドレスのURLの書き換えのこと)、この内容とデータベース内のデータ(URLデータ)が異なっていても、優先して読み込まれるのは前者のため、URL(と実ファイル)の移行に関しては問題なく行えるんだそう。
しかしデータベースの値としては古いURL情報が記録されているため、これらの修正が必要なのかもしれない・・・のかな?
というわけで、MySQLで作成されているBLOG用のデータベースにログインして内容を確認してみることにしました。
# mysql -u root -p bootablog
show databases;
select * from wp_blogs;
するとこんな具合に返されます。
注目すべきはpathのカラム。ばっちり/blog/が入っています(なのでデータベースとしてはboota.mydns.jp/blogで管理されているっぽいことがわかる)。
そしたら次。wp_optionsテーブルのoption_nameカラムを調べ、その中からsiteurlの値とhomeの値を抽出します。
select * from wp_options where option_name = ‘siteurl’;
select * from wp_options where option_name = ‘home’;
すると。
いずれも値としては/blog/は含まれておらず、こちらは問題なさそう。ダッシュボードの書き換えで更新されているってことなのかな?
次はwp_siteテーブル。同様に見ていきます。
select * from wp_site;
このテーブルも、pathカラムに/blog/が記録されています。ここもあとで修正ですね。
次。
wp_sitemetaテーブルからmeta_keyがsiteurlのレコードを抽出です。先のサイトではこのほかmeta_keyがmeta_valueのレコードも抽出するとあったのですが、当該文字列はうちのwp_sitemetaテーブルには存在しませんでした。
select * from wp_sitemeta where meta_key = ‘siteurl’;
これら以外に、先のサイトではwp_n_optionsテーブルを編集するとあったのですが(nは任意の自然数と思われる)、うちのデータベース内には存在しませんでした。参照先に「サイトネットワークの数だけ指定・・・」という表現があることから、サイトネットワークを構築すると作成されるものなのかも?
(そしてうちはサイトネットワークの構築に失敗している)
そしたら以上の各テーブルから、pathの値として/blog/が含まれている箇所を/に書き換えれば、wp-config.phpの内容とデータベースの内容が一致するので、サイトネットワークの構築ができるようになる・・・かもしれないし、そうなってくれるといいなぁと思いつつ、次回各情報の書き換えとその結果を報告予定です。
さて、まずはBLOG本体とデータベースのバックアップを取得するかな〜。