Oto moja konfiguracja. Mam instancję Multisite działającą pod adresem http://example.com i chcę tworzyć i przygotowywać. Przeniesienie istniejącej instancji WP na Multisite na localhost jest koszmarem, więc zamiast tego zrobię dev w miejscu postoju.
Skonfigurowałem http://staging.example.com, aby wskazywał na katalog / public_html / staging / konta hostingowego, i skopiowałem wszystkie pliki WP z mojego katalogu głównego do katalogu / staging /. Skopiowałem również pliki bazy danych (zrzut SQL, zaimportowałem tabele do nowej bazy danych) i zmieniłem plik wp-config.php, aby wskazywał na nową bazę danych.
Po uruchomieniu SQL, aby zmienić rekordy bazy danych, zmieniam również ten jeden wiersz w pliku 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 );
Zmienić na:
define( 'DOMAIN_CURRENT_SITE', 'staging.example.com' ); // <- now changed
Kiedy ładuję http://staging.example.com , dostaję ... Error establishing database connection
!
Sprawdziłem i potrójnie sprawdziłem nazwę użytkownika i hasło, upewniłem się, że użytkownik ma wszystkie uprawnienia do nowej bazy danych przemieszczania, i pozostawiłem DBHOST jako „localhost” (chociaż zmiana go na staging.example.com nie pomoc).
Dlaczego połączenie z bazą danych nie powiedzie się? Ktoś? (Z góry dziękuję za pomoc.)
Uwaga: http://example.com działa poprawnie na bardzo podobnych ustawieniach połączenia db, tylko z inną bazą danych, więc nie jest to problem z wyłączeniem serwera bazy danych.
Odpowiedzi:
Jedna myśl - kiedy wchodzę na www.example.com/staging/wp-admin, automatycznie przekierowuje mnie na www.example.com/wp-admin
Czy przekierowanie ze staging.example.com na example.com/staging może powodować konflikt z istniejącą instalacją?
AKTUALIZACJA: wygląda na to, że może to być związane z problemami .htaccess i skomplikowanymi odwołaniami do domen w bazie danych
Z Kodeksu WP:
źródło
Rozwiązałem to i zadziałało :)
W
wp_blogs
tabeliStara struktura była
Ale zmieniłem go, aby działał w następujący sposób:
W przypadku strony głównej:
W przypadku podstrony 1 (dowolnej podstrony pod główną witryną, podałem tylko przykład):
źródło
Jest tak naprawdę tylko jeden sposób na łatwe przeniesienie domeny lub hosta, które znalazłem. Działa dla mnie bezbłędnie w instalacjach jedno- i wielostanowiskowych.
Dodaj następujący wiersz do pliku wp-config.php:
Zdefiniuj („RELOCATE”, true);
Zaloguj się i zapisz ustawienia permalinków.
Usuń regułę definiującą, którą umieściłeś w pliku wp-config.php.
źródło