De ce definirea MULTISITE true schimbă conexiunea la baza de date utilizată

4 feb. 2015, 19:01:38
Vizualizări: 2.87K
Voturi: 0

Am făcut o copie a unei instalații multisite pentru a lucra la ea local. Am observat că dacă setez define('MULTISITE', true); în wp-config, primesc eroarea standard de conexiune la baza de date. Dacă dezactivez multisite, tema se încarcă dar lipsesc unele plugin-uri.

Poate cineva să sugereze ce am omis? Posibil relevant este faptul că mediul meu local de dezvoltare folosește NGINX iar originalul rulează pe Apache. Nu am nimic specific pentru multisite în configurația nginx.

Dacă setez ambele următoarele în wp-config:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);

Sunt redirecționat către http://http//local.mydevsite/wp-signup.php?new=local.mysdevsite

De asemenea, sunt redirecționat acolo când încerc să accesez /wp-admin

8
Comentarii

Spui că ai făcut o copie - pot presupune că ai actualizat constantele de conexiune la baza de date din wp-config.php astfel încât site-ul să nu caute în continuare baza de date originală?

David Gard David Gard
5 feb. 2015 12:14:32

Da, acestea au fost modificate pentru copia mea locală a bazei de date și confirmate ca fiind corecte

codecowboy codecowboy
5 feb. 2015 12:18:25

Mai ai linia define('WP_ALLOW_MULTISITE', true); în wp-config.php (deasupra liniilor din întrebarea ta)?

David Gard David Gard
5 feb. 2015 12:21:16

Am încercat atât cu cât și fără acea linie comentată. Din câte înțeleg, nu ai nevoie de acea linie odată ce multisite a fost activat pentru prima dată.

codecowboy codecowboy
5 feb. 2015 12:22:46

Nu ai nevoie, cred că doar adaugă opțiunea 'Rețea' în meniul Unelte, dar merită verificat. Presupun de asemenea că ai modificat constanta DOMAIN_CURRENT_SITE pentru a reflecta URI-ul copiei tale offline (nu include http:// sau o bară oblică la sfârșit)?

David Gard David Gard
5 feb. 2015 12:26:56

Da, am schimbat și asta - nu include http sau bara oblică la sfârșit.

codecowboy codecowboy
5 feb. 2015 12:29:15

Deoarece este doar o copie oricum, ce zici să eliminăm constantele pentru multi-site (cu excepția WP_ALLOW_MULTISITE) și să încercăm să rulăm configurarea din nou?

David Gard David Gard
5 feb. 2015 12:30:43

continuăm această discuție în chat.

codecowboy codecowboy
5 feb. 2015 12:46:18
Arată celelalte 3 comentarii
Toate răspunsurile la întrebare 1
0

Aceasta sună ca o eroare cu URL-urile care sunt definite în baza de date multisite și/sau o problemă cu fișierul .htaccess.

Când schimbi o instalare WP obișnuită de la live la local, de exemplu, poți modifica URL-urile setând următoarele în wp-config:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Cu toate acestea, cu multisite există referințe adiționale la URL-urile pe care a fost configurat multisite-ul în baza de date. Dacă în baza de date locală te uiți în tabelele wp_blogs, wp_site și wp_options, vor exista intrări pentru site-ul live în baza de date. Trebuie să le modifici pe acestea cu noul URL local, adică de la livesite.com la localsite.com

  • În wp_blogs acestea sunt toate intrările din coloana domain
  • În wp_site aceasta este intrarea din coloana domain
  • În wp_options aceasta este valoarea option_value corespunzătoare option_name de siteurl și home

Alternativ, pentru ușurința setării și pentru a minimiza orice modificări la baza de date, aș recomanda să păstrezi URL-urile existente și să adaugi o regulă în fișierul hosts pentru a redirecționa înapoi către mașina locală, adică în hosts să ai livesite.com redirecționat către 127.0.0.1. În acest fel, baza de date nu trebuie să fie modificată. Dezavantajul este că va trebui să elimini intrarea pentru a vizualiza site-ul live, iar unii oameni pot găsi acest lucru confuz. Așadar, alegerea este complet a ta.

Apoi, trebuie să te asiguri că fișierul .htaccess are configurația corectă pentru multisite și rescrieri. Acele setări pot fi găsite aici, în funcție de dacă ai o configurare cu subdomenii sau cu subdirectoare.

În final, trebuie să te asiguri că pe setarea locală ai modulul rewrite_module activ și modulul headers_module activ (sau echivalentul) pe serverul tău web local.

5 feb. 2015 16:09:13