harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

トラブルシュート メモ

wordpressメモ、サイトのURLを変更する際のテーブル操作

投稿日:2014年5月21日

職場でイントラ用に利用しているwordpressサイトを別サーバーに引っ越した際、サイトURLのメンテを忘れてしまい、後から手動で直すことに。

直す必要があるのは”WordPress アドレス”に該当するフィールド”home”とサイトアドレスに該当する”siteurl”と思われるので、この二つを探してみることに。

テーブルの数がデフォルト状態で少なかったので、ちょっと手間をかけて各テーブルのフィールドを色々調べてみたところ
wp_optionsテーブル内のoption_nameフィールドにあるカラムにhomeを発見。

mysql> select * from wp_options where option_name='home';
+-----------+-------------+----------------------------------------+----------+
| option_id | option_name | option_value                           | autoload |
+-----------+-------------+----------------------------------------+----------+
|        37 | home        | http://intranet.example.com/wordpress  | yes      |
+-----------+-------------+----------------------------------------+----------+
1 row in set (0.00 sec)

あわせてsiteurlも調べてみたら、同様に発見。

mysql> select * from wp_options where option_name='siteurl';
+-----------+-------------+----------------------------------------+----------+
| option_id | option_name | option_value                           | autoload |
+-----------+-------------+----------------------------------------+----------+
|         1 | siteurl     | http://intranet.example.com/wordpress  | yes      |
+-----------+-------------+----------------------------------------+----------+
1 row in set (0.00 sec)

option_idの値がなぜかhomeよりsiteurlのほうが若いが、siteurlは1、homeは37で決まっている様子?あるいはバージョンにより変わるのか、暇なときにでも調べてみる。

ひとまずこの二つを直せばいけそうなので、そのままupdateをかましてみる。
update分を実行するときのwhere句での指定は、option_nameでなくoption_idで該当のIDを指定。

修正例としては
http://intranet.example.com/wordpress

http://intranet.example.jp/wordpress
で。

1.homeの設定値を手直し

mysql> update wp_options
    -> set option_value='http://intranet.example.jp/wordpress'
    -> where option_id=37;
Query OK, 1 row affected (0.07 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> select * from wp_options where option_id=37;
+-----------+-------------+---------------------------------------+----------+
| option_id | option_name | option_value                          | autoload |
+-----------+-------------+---------------------------------------+----------+
|        37 | home        | http://intranet.example.jp/wordpress  | yes      |
+-----------+-------------+---------------------------------------+----------+
1 row in set (0.00 sec)
		
mysql>

2.siteurlの設定値を手直し

mysql> update wp_options
    -> set option_value='http://intranet.example.jp/wordpress'
    -> where option_id=1;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> select * from wp_options where option_id=1;
+-----------+-------------+---------------------------------------+----------+
| option_id | option_name | option_value                          | autoload |
+-----------+-------------+---------------------------------------+----------+
|         1 | siteurl     | http://intranet.example.jp/wordpress  | yes      |
+-----------+-------------+---------------------------------------+----------+
1 row in set (0.00 sec)
	
mysql>

と、ここまで直した後で
WordPress Codexに解説があるのを発見…初めからここを見ればよかったorz

-WordPress Codex : Changing The Site URL
http://codex.wordpress.org/Changing_The_Site_URL

とりあえず作業の進め方は問題なかった様子なのと、サイトのリンクの更新も確認できたので、ひとまずOK。

備考

間に合わせとして、wp-config.php内に設定値を固定で指定することもできる様子。

 define('WP_HOME','http://intranet.example.jp');
 define('WP_SITEURL','http://intranet.example.jp');

ただし、この対応だと、いかにも場当たり的な対処になるので、あまりやるべきではないかな、と。
wp-config.phpを見れば判るからこちらのほうが良い、という人もいるかもだけどw

-トラブルシュート, メモ
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

no image

[メモ]Juniper SSG ScreenOS ファームウェアのアップデート

SSGシリーズ(SSG-5-SH-EXT)のファームウェアを最新版にアップデートしたので、そのメモをまとめときました。作業はTFTPベースでささっと実施。   更新前後のバージョンは以下の通りです。 …

no image

[備忘録]PuTTYの設定情報のエクスポートとインポート

頻度が高いわけではないが、時々やろうとすると忘れてしまうので、メモ書き。 とりわけレジストリのパスを忘れてしまう・・・ 1.レジストリエディタ起動 XPの場合 "スタート"→&qu …

canon MP800の電源ボタン修理

Canon PIXUS MP800 の電源ボタンを修理したので、ざっとレポートを書きます。 2005年末に年賀状作成のため購入し、6年ほど使用してきましたが、2年ほど前から、この機種特有の&#8220 …

no image

[ただのメモ] nginx 問答無用の301リダイレクト設定。

※書式を忘れがちなので、自分用のメモ目的です。 ドメインの変更やサービスの移転などでリダイレクトを設定する際、コンテンツごとのURLパスを無視してすべてのリクエストを指定した移転先へ飛ばす設定。 職業 …

no image

ただのメモ:mysqladmin pingで起動確認

mysqladminを実行する際にpingオプションをつけると、指定したホストのmysqldの稼働状態を確認してくれる。 簡単な監視に良いかも。 $ mysqladmin -h -uroot -p & …