サポート » インストール » ブログの引越し

  • 解決済 o6asan

    (@o6asan)


    こんばんは。

    「引っ越し」で検索してみたのですが,どうも同じような例を見つけられないので。
    以下の手順で,引越しをしようとしています。11.までは問題ないのですが,データをインポートするとどうもうまくないのです。管理画面からはインポートされたデータが,すべて表示されますし,サイトでもホーム(BLOG-J/)の記事は設定どおりちゃんと表示されるのですが,そこからのパーマリンクにすべて404エラーが出ます。

    何を直せばいいのでしょうか,どうしてもわかりませんので,よろしくお願いします。

    1.  使用しているプラグインをすべて停止する。
    2.  何かバグがあるかもしれないので,テーマを「o6asan」から,3.0デフォルトの「twentyten」に変更。
    3.  サイトからログアウトし,phpMyAdminでデータベースにアクセス。
       wp_statpressとwp_similar_posts以外のテーブルをエクスポート。1M弱だった。
    4.  エクスポートした****.sqlをテキストエディタで開き,xxxxxx.*******.xxをxxxxxx.com/BLOG-Jに変更。
       *******.xxで使っていたデータベース名を,新サイトで使用するものに変更。
       テーブル接頭辞をデフォルトのwp_から使用予定の**_に変更。
       wp_usersのuser_loginをデフォルトのadminから******に変更して,****.sqlを閉じる。
    5.  自鯖のphpMyAdminでMySqlにアクセスし,WordPressで使用するデータベースを作成。
    6.  wordpress-3.0-ja.zipを解凍して,できたファイルをすべて自鯖の予定の場所にアップロード。
    7.  自鯖のWordPressのホームディレクトリにアクセス。ウィザードに従ってwp-config.phpを作成。
       インストールを続けるが,「ようこそ」ページのパスワードは旧サイトのままで行うこと。ここを変えると旧データベースからエクスポートしたファイルが使用できない。
    8.  インストールが完了したらひとまず,ログインしてみる。すぐにログアウト。
    9.  wp-config.phpを開いて,内容を確認。
    10.  ログインしてみると,twentytenがバージョンアップされているというメッセージが出ていたので,WordPress上で自動更新。
    11.  管理画面の一般設定で,カスタマイズ。パーマリンク設定を/%category%/%postname%/に変更する。自鯖のrewrite設定を変える必要があった。ひとまず,ログアウト。
    12.  自鯖のphpMyAdminでデータベースにアクセスし,データをインポート。インポートの前にすべてのテーブルを空にすること。ログアウト。
    13.  自鯖のWordPressにログイン。
6件の返信を表示中 - 1 - 6件目 (全6件中)
  • show555

    (@show555)

    こんにちは
    いろいろな要因が考えられるので外れている可能性も高いのですが、よくありそうな原因としてはパーマリンクの変更をした後に旧サーバーからのsqlファイルをインポートすると、変更したrewriteルールが古いものに置き換わってしまっているのではないでしょうか。

    パーマリンクの設定を変更するとデータベースとhtaccessの両方に変更が加わりますので、どちらかが食い違うと404が出てしまうと思います。

    なのでsqlをインポートしたあとにもう一度パーマリンク設定を変更しなおしてみれば、もしかしたら直るかもしれません。

    あとhtaccessに書き込み権限が与えられているか、パーマリンク変更後にhtaccessが書き換わっているかもチェックしたほうがよいと思います。

    o6asan

    (@o6asan)

    show555さん,お返事ありがとうございました。

    WordPressが吐き出した.htaccessは以下のようなものです。
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /BLOG-J/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /BLOG-J/index.php [L]
    </IfModule>

    パーマリンク設定をデフォルトに戻すと,全ページなんら問題なく表示されます。
    引越し前のページとパーマリンクが変わるのは痛いのですが,なんどやっても,カスタムに戻すと,
    うまくいかないので,あきらめてデフォルトで行くことにしました。

    ちょうど,「カスタム投稿タイプでのパーマリンクについて」というshow555さんの始められた
    記事を見ましたが,Rewriteがうまくいっていないような気がします。
    初心者なので,外しているのかもしれませんが……

    いかがお考えでしょうか?

    show555

    (@show555)

    htaccessの内容を見ると「BLOG-J」というサブディレクトリにWordPressのコアファイル群をまとめているようですね。
    もしかしたらの話なのですが実は.htaccessとrewriteルールは正常で、ブログの引越しの際に「WordPress を専用ディレクトリに配置する」の作業が不十分なためにパーマリンク設定がうまく適応されていないのかもしれません。

    自分も以前root直下とサブディレクトリの両方にindex.phpと.htaccessが存在してトップページ以外見れないということがありました。今回も同じケースとは言い切れませんがもう一度「WordPress を専用ディレクトリに配置する」を見直してみるともしかしたら解決するかもしれません。

    o6asan

    (@o6asan)

    show555さん,こんばんは。

    えー,見てみましたが,サブディレクトリにはありません。
    現在の構成の場合,index.phpと.htaccessは「BLOG-J」の直下にあればいいはずですよね。

    この認識が間違っていますか?

    show555

    (@show555)

    申し訳ありません、先程の発言は私の勘違いでした。

    現在の構成の場合,index.phpと.htaccessは「BLOG-J」の直下にあればいいはずですよね。

    その通りだと思います。混乱させてしまってすみません。

    o6asan

    (@o6asan)

    show555さん,改めてこんばんは。

    大変に申し訳なく,またご寛恕いただきたいのですが,今,大変初歩的なミスに気づきました。
    AllowOverride None
    になっていました。全く記憶にないのですが,自鯖ですので,どこかでこの設定をしたようです。
    これまで,自鯖上では.htaccessを使わないようにしていたので,すっかり忘れていました。

    AllowOverride Allにしましたら,当たり前ですが,うまくいきました。とんだピエロ状態です。
    われながら,このところの苦労はナンだったんだといいたいです。

    ご迷惑をおかけしました。また,本当にありがとうございました。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「ブログの引越し」には新たに返信することはできません。