これが私の設定です。 http://example.com でMultisiteインスタンスを実行していますが、開発とステージングを行いたいです。 WPの既存のMultisiteインスタンスをlocalhostに移動するのは悪夢なので、代わりにステージング場所でdevを実行します。
ホスティングアカウントの/ public_html/staging /ディレクトリを指すように http://staging.example.com を設定し、すべてのWPファイルを自分のルートから/にコピーしました。ステージング/ディレクトリ。私はまたデータベースファイル(SQLダンプ、新しいデータベースにテーブルをインポートした)をコピーし、そして新しいデータベースを指すようにwp-config.phpファイルを変更しました。
データベースレコードを変更するためにSQLを実行した後、私はwp-config.phpファイルのこの1行も変更します。
/** Turning on WordPress MU, new in 3.0 */
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'example.com' ); // <- I change this line
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
に変更されました:
define( 'DOMAIN_CURRENT_SITE', 'staging.example.com' ); // <- now changed
http://staging.example.com をロードすると、... Error establishing database connection
になります。
私はユーザー名とパスワードをチェックし、トリプルチェックし、そのユーザーが新しいステージングデータベースに対するすべての権限を持っていることを確認し、DBHOSTを 'localhost'のままにしました助けてください。
データベース接続が失敗するのはなぜですか?誰でも? (ご協力ありがとうございます。)
NB: http://example.com は、データベースが異なるだけで、非常によく似たdb接続設定で正常に動作しているので、データベースサーバーがダウンしても問題ありません。 。
考えたことがある - 私がwww.example.com/staging/wp-adminにアクセスすると自動的にwww.example.com/wp-adminにリダイレクトされる
Staging.example.comからexample.com/stagingへのリダイレクトが既存のインストールと競合していませんか?
更新:.htaccess問題とデータベース内の複雑なドメイン参照に関連している可能性があるようです
WP Codexから:
ワードプレスマルチサイトを移動する
データベース自体がサーバー名とフォルダーの場所を複数参照しているため、マルチサイトの移動ははるかに複雑です。
Multisiteを移動する最善の方法は、ファイルを移動し、.htaccessとwp-config.phpを編集し(Multisiteを含むフォルダ名が変更されている場合)、その後手動でデータベースを編集することです。ドメイン名のすべてのインスタンスを検索し、必要に応じてそれらを変更します。このステップはまだ簡単に自動化することはできません。 Multisiteをあるフォルダから別のフォルダに移動する場合は、wp_blogsエントリを編集してフォルダ名を正しく変更する必要があります。
私はそれを解決しました、そしてそれは働きました :)
wp_blogs
テーブルでは、
古い建造物 was
Domain : localhost/smart_facility_linux
Path : /
しかし、私はそれが次のように動作するように変更しました。
ルートサイトの場合:
Domain : localhost
Path : /smart_facility_linux/
サブサイト1(メインサイトの下の任意のサブサイトに、例を挙げた):
Domain : localhost
Path : /smart_facility_linux/subsite1/
私が見つけたドメインやホストを簡単に移管する方法は一つしかありません。私にとってシングルサイトとマルチサイトのインストールで問題なく動作します。
Wp-config.phpファイルに次の行を追加してください。
define( 'RELOCATE'、true);
ログインして、パーマリンク設定を保存します。
Wp-config.phpに書いた定義ルールを削除してください。