harumaki.net

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

トラブルシュート メモ

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

投稿日:2014年5月21日

Last Updated on 2015年5月20日 by かんりにん

職場でイントラ用に利用している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


関連記事

canon MP800の電源ボタン修理

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

no image

[メモ]zipコマンドでのパスワードつき暗号化圧縮

[pukiwiki] mysqlからダンプしたファイル”backup.sql”をパスワードつきで圧縮しようとしたところ、 普段使っているtar、gzip、bzip2ではパスワー …

no image

USB接続のHDDをmke2fsでext3にフォーマットしたときのメッセージを確認(tune2fs )

CentOS5.8にて、USB接続の外付けHDDをext3にてフォーマットした際 “ファイルシステムは29回マウントされるか、または180日経過するか、どちらか先に来たら自動でチェックされ …

[AWS]ただのメモ:rightscaleのCentOSでなぜかyum updateが動かない、と思ったら

  EC2にてrightscaleのCentOSにセキュリティパッチをあてるため”yum update”をしておこうとしたら、”No Packages marked …

[メモ][juniper] SRX(JunOS) FTPS設定追加

  社内から外部のFTPサービスへ接続する際、通常のFTPでは問題ないものの、FTPS(FTP Over SSL/TLS)で接続しようとしたところ、認証が通ったところで応答がなくなり、そのままタイムア …

宅麺