Perché definire MULTISITE true cambia la connessione al database in uso
Ho preso una copia di un'installazione multisite per lavorarci localmente. Ho notato che se imposto define('MULTISITE', true); in wp-config.php, ottengo il classico errore di connessione al database. Se disabilito il multisite, il tema si carica ma mancano alcuni plugin.
Qualcuno può suggerire cosa mi sono dimenticato? Potrebbe essere rilevante che il mio ambiente di sviluppo locale usa NGINX mentre l'originale è su Apache. Non ho nulla di specifico per il multisite nella mia configurazione NGINX.
Se imposto entrambe le seguenti definizioni in wp-config.php:
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
Vengo reindirizzato a http://http//local.mydevsite/wp-signup.php?new=local.mysdevsite
Vengo reindirizzato allo stesso URL anche quando provo ad accedere a /wp-admin
Sembra un errore con gli URL definiti nel database multisite e/o un problema con il file .htaccess.
Quando si modifica un'installazione regolare di WP da live a locale, ad esempio, puoi cambiare gli URL impostando questo nel tuo wp-config:
define('WP_HOME','http://esempio.com');
define('WP_SITEURL','http://esempio.com');
Tuttavia, con il multisite ci sono riferimenti aggiuntivi agli URL su cui è stato configurato il multisite nel database. Se nel tuo database locale guardi nelle tabelle wp_blogs
, wp_site
e wp_options
troverai delle voci per il sito live nel database. Devi cambiarle con il tuo nuovo URL locale, ad esempio da livesite.com a localsite.com
- In
wp_blogs
queste sono tutte le voci nella colonnadomain
- In
wp_site
questa è la voce sotto la colonnadomain
- In
wp_options
questo è il option_value corrispondente a option_name disiteurl
ehome
In alternativa per facilitare la configurazione e minimizzare le modifiche al database, consiglierei di mantenere gli URL esistenti e aggiungere semplicemente una regola nel tuo file hosts per reindirizzare alla tua macchina locale, ad esempio nel tuo hosts fai in modo che livesite.com
punti a 127.0.0.1
. In questo modo il database non deve essere modificato. Lo svantaggio è che dovrai rimuovere la voce per visualizzare il sito live e alcune persone potrebbero trovare questo confuso. Quindi la scelta è completamente tua.
Poi devi assicurarti che il tuo .htaccess abbia la configurazione corretta per il multisite e i rewrite. Queste impostazioni possono essere trovate qui a seconda che tu abbia una configurazione con sottodomini o con sottocartelle.
Infine, devi assicurarti che nella tua configurazione locale il modulo rewrite_module e il modulo headers_module (o equivalente) siano attivi sul tuo server web locale.
