WPサイトを移動するときに、wp-adminが古いサイトにリダイレクトするのはなぜですか?


16

私はWPサイトをあるホストから別のホストに移動する過程にあります。データベースとすべてのファイルをコピーし、新しいデータベースを作成して、古いデータベースをインポートしました。次に、wp-configファイルを変更しました。ホームページは正常に表示されますが、/ wp-adminにアクセスしようとすると、古いサイトに戻ります。

新しいサイトは開発サーバーで、サイトを公開する前にスタイルを変更する予定です。

この移行について何が欠けていますか?サイトがdev URLに正しく応答するようにするにはどうすればよいですか?

回答:


22

これが単一のWordPressインストールである場合、古いドメインのデータベースエントリがいくつかあります。具体的には、siteurlおよびhomewp_options

とはいえ、開発URLが一時的な場合は、次の2つの定数も設定できますwp-config.php

define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);
define('WP_SITEURL', WP_HOME . '/');

WordPressがWebサイトのルートにインストールされている場合。


また、更新する必要がありますguidそれぞれのためのwp_postsようなものを使用して、任意のの添付の場合UPDATE wp_posts SET guid = REPLACE('<old_url>','<new_url>', guid)
Cyclonecode

2
GUIDは変更しないでください。詳細はこちら:codex.wordpress.org/Changing_The_Site_URL#Important_GUID_Note
NightHawk 14

4

大きな問題ではありません。データベースには、自動的に変換できない以前のリンクがすべて含まれています。そのためのソリューションには2つのタイプがあります。

  1. ではwp-config.php、このコードを追加します。

    define( 'WP_HOME'、 'http://'。$ _SERVER ['SERVER_NAME']);
    define( 'WP_SITEURL'、WP_HOME。 '/');
  2. 「oldurl」を前のリンクに、「newurl」を現在のリンクに置き換えて、次のSQLを変更します。

UPDATE wp_posts SET guid = replace(guid, 'oldurl','newUrl'); 

UPDATE wp_posts SET post_content = replace(post_content, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_url = replace(link_url, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_image = replace(link_image, 'oldurl', 'newUrl'); 

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_usermeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_options SET option_value = replace(option_value, 'oldurl', 'newUrl') WHERE option_name = 'home' OR option_name = 'siteurl';

データベースでこれらのSQLクエリを実行し、以外のものがある場合はプレフィックスを変更しますwp_


2

構成内のサイトURLを変更するだけでは、すべての内部が更新されて、実用的な開発サイトが作成されない可能性があります(サイトが非常に単純な場合を除きます)。シリアル化されたデータが表示されず、古いサイトを指す投稿内のリンクに問題が発生します。

Backup BuddyやDuplicatorなどの移行ツールを使用して、サイトの完全なコピーを作成し、新しいURLで新しい場所に再展開できるようにする方が賢明です。これを行うと、投稿内の作業リンク、カスタムメニューリンクなどを引き続き使用できます。これらのいずれかを使用すると、変更の起動も簡単になります。すべてをパッケージ化して、作業が完了したら実稼働サイトに再デプロイするだけです。

すべてのダウンロード/アップロードに時間を費やしたくない場合は、WP Migrate DBなどを使用してデータベースを移行するだけです。本番サイトにインストールし、新しいURLでデータベースをエクスポートし、移行したデータベースをphpMyAdminなどを使用して開発者にインポートします。テーマ内のハードコードされたリンクはすべて更新する必要があり、サブフォルダーにインストールする場合は.htaccessを更新する必要があります。

RewriteBase行を次のように変更します。

RewriteBase /yourfolder/

そして、index.phpにリダイレクトする行:

RewriteRule . /yourfolder/index.php [L]

0

サイトを別のURLに移動する前に、管理パネルからサイトアドレス(URL)とWordPressアドレス(URI)を変更する必要があります。

あなたの場合、ライブサイトに対してそれを行うことはできません。そのため、データベースの検索や置換などのツールを試して、開発サイトのデータベースからURLを変更できます。

Moving WordPressを参照することもできます


0
  1. phpMyAdmin:wp_optionsテーブルセットに移動しhomeurlsiteurl新しいURLとして
  2. wp-adminダッシュボードにログインして、setting->general WordPressアドレス(URL)とサイトアドレス(URL)を変更します
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.