今回、やったことは、
●WordPressのURL変更
移動前 http://www.hoge.org/weblog/wordpress/
移動後 http://www.hoge.org/
●マルチサイト化
http://www.hoge.org/weblog/wordpress/にインストールされているWordPressをマルチサイト化。
つまりhttp://www.hoge.org/だけでなく、http://subdomain.hoge.org/
のようにsubdomainを使えるようにした。
●サブドメイン無限化
2のsubdomainをレンタルサーバーで割り当てている数以上に使えるようにした。
<<実際の手順>>
1、下準備
FTPソフトでWordPressのファイルを全バックアップ
http://www.hoge.org/weblog/wordpress/にインストールしてあるWordPressをバックアップする
*利用しているプラグインとパーマネントリンクの設定などは控えておく
*今回データベースをバックアップしなかったがしたほうがベター。
2、バックアップしたファイルをhttp://default.hoge.org/にアップロード
同じ環境を作るため、新たにWordPressをインストールするのではなくバックアップしたものを利用する。
3、.htaccessの書き換え
RewriteBaseとRewriteRuleを書き換える。
変更前
RewriteBase /weblog/wordpress/
RewriteRule . /weblog/wordpress/index.php [L]
変更後
RewriteBase /
RewriteRule . index.php [L]
4、index.php書き換え
index.php書き換える
変更前
require(‘./wp-blog-header.php’);
変更後
require(‘wp-blog-header.php’);
5、データベース書き換え
wp_options
option_name
siteurl
変更前 http://www.hoge.org/weblog/wordpress/
変更後 http://hoge.org/
home
変更前 http://www.hoge.org/weblog/wordpress/
変更後 http://hoge.org/
6、マルチサイト化する
(1)wp-config.phpを変更
wp-config.phpに
define (‘WP_ALLOW_MULTISITE’, true);
を追加。
(2)プラグイン停止
利用しているプラグインを停止する。
(3)ログアウトしログイン(http://hoge.org/)
(4)ネットワーク設定
サイドメニューにツールが追加される。その中からネットワークの設定を選ぶ。
(5)ネットワークの設定
wp-config.phpと.htaccessを変更
define( 'AUTH_SALT', '^2L%+~}D+I k}Yl5I4+X(_-PohS<{nK]z7I5c-gR(Mt8 ga]#}es[k.16`FWL2ox' );
define( 'SECURE_AUTH_SALT', 'a+0WtZRKU!R&sgWm@yqhv`]/^BS^? bRSb:V{-#F#>8~me&2F)s4PZ+O{j)wEFFr' );
define( 'LOGGED_IN_SALT', 'or9*d.+EP;/|X jZDgiF6+R~vLT KDVV~ZNHj.+=z +-6=`Vp{=e0}w%2&ML)e~S' );
define( 'NONCE_SALT', '%,!q}*M-ryVGf~Dvl5xcx*$F=1QJ`D>:E@|?,.PlqQxA{IBP#Tv//bAd$_xD$%}A' );
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule . index.php [L]
(6)サーバーにアップロードし、ログアウトしてログイン
マルチ化成功となる。
wp-config.phpの書き換えの支持があったのでさらに書き換え
define( 'AUTH_KEY', '=H-e{+M(`g+?<af^NXZp*W5whoT(JlWmsz`bD1|-i%S%RQ$p`3+.xtb5kQ{Jp[Zw' );
define( 'SECURE_AUTH_KEY', '@[p!r+#W0O1Bi{[):l(ax%rHIX9zT9pr^_Vh}K_<hW/^{MY%.y:Y|`kNn;^U%2hr' );
define( 'LOGGED_IN_KEY', '2a8dkUq<0$3hV(KeY+y15c+5:@},_>=|$4tSnse34zx(gCm8)eT;_ym,KZY~p}N{' );
define( 'NONCE_KEY', '~ y*w/kX!b`:dP$Hht&2n=erDqh!<h8hd9RvuqV>#MgiW,D0wD=cXpAl[CiHM~P!' );
7、www.hoge.orgというサブサイトを作る
マルチサイト化したため、hoge.orgにhttp://www.hoge.org/weblog/wordpress/のデータが入っている
*パーマネントリンクの設定などに注意
8、データベース入れ替え
http://www.hoge.orgとhttp://hoge.orgのデータベースを入れ替える。
(1)wp_blogs wp_2_options siteurl
http://www.angelflower.org/=>http://angelflower.org/
(2)wp_2_options home
http://www.angelflower.org/=> http://angelflower.org/
(3)wp_2_options fileupload_url
http://www.angelflower.org/=> http://angelflower.org/
(4)wp_options siteurl
http://angelflower.org/=> http://www.angelflower.org/
(5)wp_options home
http://angelflower.org/=> http://www.angelflower.org/
(6)wp_options fileupload_url
http://www.angelflower.org/wp-content/uploads
以上によりWordPressのURLの変更が完了した
移動前 http://www.hoge.org/weblog/wordpress/
移動後 http://www.hoge.org/
9、.htaccessを変更
すでにインデックスされているhttp://www.hoge.org/weblog/wordpress/の記事を301リダイレクトして、http://www.hoge.org/に移動する。
RewriteRule ^weblog/wordpress(.*)$ /$1 [R=301,L]
を追加。
10、その他作業
www.hoge.com下にファイルやフォルダーを置いてある場合、default.hoge.comにコピーしないとアクセスできなくなる。
今回、そのようなファイルがあったのでそうした。
他のURL xxx.hoge.orgでもアクセスしてしまうという問題があるが気にしなければ別にこれでOK。
参考(感謝)
http://d.hatena.ne.jp/minorio/20080814/1218696892
http://wordpress.org/support/topic/warning-mainwp-blog-headerphp-error
その他(私のblog記事)