Вот мои настройки. У меня есть экземпляр Multisite, работающий по адресу http://example.com , и я хочу заняться разработкой и подготовкой. Перемещение существующего мультисайтового экземпляра WP на localhost - это кошмар, поэтому вместо этого я собираюсь создать dev в промежуточной локации.
Я настроил http://staging.example.com, чтобы он указывал на каталог / public_html / staging / учетной записи хостинга, и скопировал все файлы WP из моего корня в каталог / staging /. Я также скопировал файлы базы данных (дамп SQL, импортировал таблицы в новую базу данных) и изменил файл wp-config.php, чтобы он указывал на новую базу данных.
После запуска SQL для изменения записей базы данных я также изменил эту строку в файле wp-config.php:
/** 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» (хотя его изменение на staging.example.com не помощь тоже).
Почему сбой соединения с базой данных? Кто-нибудь? (Заранее спасибо за помощь.)
NB: http://example.com отлично работает на очень похожих настройках соединения с БД, только с другой базой данных, так что проблема с отключением сервера базы данных не возникает.
Ответы:
Одна мысль - когда я захожу на www.example.com/staging/wp-admin, он автоматически перенаправляет меня на www.example.com/wp-admin.
Может ли перенаправление с staging.example.com на example.com/staging конфликтовать с существующей установкой?
ОБНОВЛЕНИЕ: похоже, это может быть связано с проблемами .htaccess и сложными ссылками на домен в базе данных.
Из Кодекса РГ:
источник
Я решил это, и это сработало :)
В
wp_blogs
таблице,Старая структура была
Но я изменил его, чтобы он работал следующим образом:
Для корневого сайта:
Для под сайта 1 (любой дочерний сайт под основным сайтом, я только что привел пример):
источник
На самом деле есть только один способ сделать простой перенос домена или хоста, который я нашел. Это работает безупречно для меня на одно- и многосайтовых установках.
Добавьте следующую строку в ваш файл wp-config.php:
DEFINE ( 'RELOCATE', правда);
Войдите в систему и сохраните настройки постоянных ссылок.
Удалите определенное правило, которое вы поместили в свой wp-config.php.
источник