サポート » インストール » 新規にドメインを取得したのですが、ブログのURLが旧ドメインのままにな

  • 解決済 maromaro

    (@maromaro)


    このたび、個人サイトのドメインを変更いたしました。
    旧ドメインはすでに期限切れとなっており、新ドメインで運用を開始しました。
    wordpressは、以下のようにblog階層に設置しております。

    http://旧ドメイン.com/blog/
    http://新ドメイン.com/blog/

    ところが、このblogにアクセスしようと、
    http://新ドメイン.com/blog/
    と打ち込むと、
    自動的に、
    http://旧ドメイン.com/blog/
    に切り替えられてしまい、ページが表示されなくなってしまいました。

    これは、wordpressのコントロールパネル上で、
    以前、このブログのURLを、旧ドメインに設定したことが原因であると推測しています。

    すでに、コントロールパネルに入ろうにも、
    必ず、旧ドメイン名のほうにブラウザでは飛ばされてしまいますので、
    直接phpファイルを新ドメインのほうに書き換える必要があるかと思っています。

    どのphpファイルの中に、
    ブログのURLを設定する項目(箇所)があるのでしょうか。

    よろしくお願いいたします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • モデレーター jim912

    (@jim912)

    maromaroさん、こんにちは。

    wp-config.phpに記述を追加するか、phpMyAdminが使えるなら、それを使ってデータベースの設定を変更することで対応可能です。

    やり方については、過去スレッドの一般設定の「wordpressのアドレス」を変更してしまったミスについてと同じですので、そちらを参考にしてください。
    ただし、ドメインが変わった場合は、WordPress アドレスだけでなく、ブログアドレスも変更する必要があります。
    合わせて、

    define('WP_HOME', 'http://www.example.com/wordpress');

    をwp-config.phpに追加するか、データベースのwp_options テーブル の home の値を変更してください。

    jim912さん、お返事ありがとうございます。

    define(‘WP_HOME’, ‘http://新ドメイン/blog’);

    として、wp-config.phpに追記すると、
    記事は見れるようになりました!!

    が・・・、
    すべて、<head>タグ内の、cssファイルのパスが、
    http://旧ドメイン/blog/wp-content/themes/default/style.css

    みたいになってしまっているので、きちんと表示されない状態です。
    まだどこかに、旧ドメインの指示を行っているphpファイルが存在するということでしょうか。
    (ちなみに、記事のリンクはすべて新ドメインになっていますので、記事自体はすべてページを切り替えてちゃんと見ていける状態です。)

    また、管理画面へログインしようにも、
    idとパスワードを入力してログインしようとすると、
    結局、ログインボタンを押すと、
    http://旧ドメイン/blog/wp-login.php
    に切り替わってしまい、管理画面に入ることができない状態です。。。

    wp-config.php
    以外に、どこかの設定で、まだ旧サーバーを排出しているせいだとは思うのですが、、
    どこのファイル(phpファイル?)をいじればいいでしょうか。
    またサーバのコントロールパネルのほうで、phpMyAdminにも入りましたが、
    こちらも、どこをいじればいいのか、分かりかねている状態です。
    wp-config.phpのほうで、
    define(‘WP_HOME’, ‘http://新ドメイン/blog’);
    としていれば、phpMyAdminでDBをいじる必要はないのでしょうか。。

    もう一度助け舟を出していただけますと幸いです。
    こんなに、ドメイン変更で不具合が出てしまうとは、本当にしまったなと猛省しております。m(_ _)m

    モデレーター jim912

    (@jim912)

    maromaroさん、こんにちは。

    リンク先のスレッドちゃんと読まれましたか?
    ドメインが変わっている場合は、

    define('WP_HOME', 'http://www.example.com/wordpress');

    だけでなく、

    define('WP_SITEURL', 'http://www.example.com/wordpress');

    も必要ですよ。

    wp-config.phpに上記の記述を追加すれば問題なく動くことになるかと思いますが、管理画面の「WordPress のアドレス (URL)」と「ブログのアドレス (URL)」欄が編集不可能になってしまうので、出来たらDBの設定を変更しておいた方が万全と言えます。

    phpMyAdminでの変更方法ですが、

    1. ログインしたら(場合により不要)、左メニューのWPが利用しているデータベースをクリック
    2. WPのテーブル接頭辞(変更していないのであればwp_)+ optionsという名前(接頭辞がdefaultならwp_options)のテーブルをクリック
    3. 上部のタブの「検索」をクリックし、option_nameの演算子で = を選択、値に siteurl と入力し、実行
    4. 鉛筆アイコンをクリックして、編集を行い、option_valueのドメインを新しいものに変更して実行
    5. 再度、3からと同様の作業手順で、option_nameがhomeである項目のドメインを変更

    以上で、DBの変更ができます。

    jim912さん、こんばんは!

    まず最初に、本当にありがとうございました。
    完璧なご説明で、完全にブログが新ドメインのほうで復旧することができました。
    本当に感謝申し上げます!

    リンク先のスレッドですが、
    おっしゃられるようにちゃんと読んでいないのではというご指摘でしたが、
    読んで実際に、defineも二つ入れたはずだったのですが、
    動かなく、うむむむ、、、と思いも、
    今回jim912さんのご説明ですと、完璧に動きました。
    本当にすみません・・・。昨夜、何かミスをしたのだとは思います。
    お恥ずかしい限りです。

    phpMyAdminについても、本当に一切迷うことなく、直すことができて、感動しました・・・!
    これで、管理画面に入ってみると、
    wordPressのアドレスと、ブログのアドレスを編集できるようになって安心です。
    本当にありがとうございます。

    そこで最後に一点だけ、確認の意味も含めた質問なのですが、
    今回、2行分の追加変更を加えた、
    wp-config.php
    ですが、本来無かったコードを追記したわけですが、
    これは本来、ワードプレスのインストール時に設定されるものなのでしょうか。
    ※質問の意図は、本来、無かった2行(define・・・)を、wp-config.phpにあとから追加することで問題がすべてクリアになったことが実は、少し疑問が残るところでして、そもそも私のようにドメインを変更したりしない方はここをいじる必要も無いものなので、本当に”まさか2行加えるとは”という驚きの気持ちでいっぱいです。

    どこかに以前の旧ドメインの指示があるphpファイルがあって、その値を書き換えるものというのは、
    DBのほうであって、phpファイルのほうにはwp-config.phpで、”書き加える”という簡単な理由でもかまいませんので助言していただけますと幸いです。

    モデレーター jim912

    (@jim912)

    maromaroさん、こんにちは。

    今回、2行分の追加変更を加えた、
    wp-config.php
    ですが、本来無かったコードを追記したわけですが、
    これは本来、ワードプレスのインストール時に設定されるものなのでしょうか。

    いいえ、インストール時には、この記述はなされません。
    細かい経緯は知りませんが、管理画面で設定を誤ったりして管理画面にログインできなくなった場合の救済策として、この追記が実装されているのではないかと思います。

    また、WPで設定関連の記述がなされているファイルは、wp-config.phpしか存在せず、その他の情報はすべてデータベースに保存されています。
    すべてのリンクは、アクセス毎にこのDBの設定を元に生成されているのです。
    wp-config.phpへの追記は、あくまでもこの設定をフィルタリングして上書きしているにすぎません。
    下記は、wp-includes/defautl_filters.phpで「WordPress のアドレス (URL)」と「ブログのアドレス (URL)」のフックを追加している記述です。

    add_filter('option_home', '_config_wp_home');
    add_filter('option_siteurl', '_config_wp_siteurl');

    jim912さん こんにちは!

    なるほど、ほとんどの設定内容がDBのほうに明記されているわけで、
    その最小限のものがwp-config.phpファイルのほうに見える形で、
    設定されているわけなのですね。
    その為に、間違って設定がおかしくなってしまうような内容は、
    wp-config.phpからはあえて外しているということで合点がいきました。
    よく分かっていない人が、確かに、今回のdefine内容のhomeとsiteurlの値を
    書き換えてしまったら大変なことになりますもんね・・・。

    jim912さんの非常にわかりやすいご回答、解説のおかげで、
    今回のトラブルを乗り切ることができました。
    今後も勉強を続けていく次第です。

    本当にありがとうございました!

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「新規にドメインを取得したのですが、ブログのURLが旧ドメインのままにな」には新たに返信することはできません。