Buclă de redirecționare (doar pentru administrarea rețelei multisite)

23 ian. 2015, 08:41:09
Vizualizări: 31.7K
Voturi: 3

Mă pot autentifica în http://localhost/wp/wp-admin/ fără probleme, dar autentificarea în http://localhost/wp/wp-admin/network/ produce o buclă de redirecționare în rețea (ERR_TOO_MANY_REDIRECTS). Site-ul se încarcă, de asemenea, fără probleme chiar și când sunt autentificat.

Cum pot afla ce cauzează această problemă? WordPress 4.1 instalat în subdirectorul 'wp', apoi convertit la multisite. Există doar un singur site în rețea până acum.

actualizare: Acest link pare foarte relevant: https://wordpress.org/support/topic/network-site-redirect-loop-solution

  • O soluție temporară este să eliminați verificarea dacă $current_blog->path se potrivește cu $current_site->path.

Am încercat să șterg cookie-urile și să adaug acest cod în wp-config:

define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');

Fișierul meu .htaccess (nemodificat din configurarea WordPress multisite):

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# adaugă un slash la finalul /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) wp/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ wp/$2 [L]
RewriteRule . index.php [L]
0
Toate răspunsurile la întrebare 6
1

Am avut aceeași problemă de redirecționare când încercam să accesez wp-admin/network. Modificările de mai jos au rezolvat-o.

1). În fișierul wp-config.php, am adăugat www.website.com în loc de doar website.com define('DOMAIN_CURRENT_SITE', 'www.website.com');

2). folosește phpmyadmin --> tabela wp_blogs Adaugă www. la valoarea domeniului

Practic, numele site-ului și numele blogului trebuie să fie exact la fel.

Noroc!

4 mai 2020 16:55:38
Comentarii

Asta a funcționat, mulțumesc! Am configurat mai multe site-uri multisite, dar se pare că toate au avut un domeniu principal fără www :D

mMoovs mMoovs
29 iul. 2020 15:39:50
0

Problema este aici: în fișierul htaccess, în loc de asta:

RewriteBase /

ar trebui să aveți

RewriteBase /wp/

în wp-config.php, ar trebui să existe:

define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);     //sau true, depinde de metoda aleasă
define('DOMAIN_CURRENT_SITE', 'localhost');
define('PATH_CURRENT_SITE', '/wp/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
29 sept. 2016 23:40:03
2

Există o altă posibilă cauză a buclei atunci când încercați să accesați:

/wp-admin/network/

Există o redirecționare declanșată la sfârșitul fișierului:

/wp-admin/network/admin.php

Aici se verifică dacă blogul curent și site-ul curent au aceleași valori pentru cale (path) și domeniu. Dacă acestea nu coincid, se produce o redirecționare.

Verificați din nou dacă calea specificată în tabela wp_blogs este aceeași cu calea setată pentru site-ul curent.

Aceste valori pot ajunge să nu fie sincronizate, mai ales atunci când instalați aplicațiile într-un director, de exemplu /blog/

22 mai 2019 13:07:50
Comentarii

Această soluție a funcționat pentru mine, având o instalație multi-site într-un subdirector. Trebuie să sincronizezi URL-ul în 1) BD > wp_blog 2) BD > wp_sites ȘI DE ASEMENEA 3) wp_config.php > DOMAIN_CURRENT_SITE, PATH_CURRENT_SITE.

Larzan Larzan
24 iul. 2020 18:59:22

Acesta a fost declanșatorul real. Mulțumesc pentru împărtășire.

mendezcode mendezcode
17 aug. 2024 23:51:42
1

În fișierul tău wp-config.php, ar trebui să suprascrii variabilele de server care cauzează problema, adăugând următoarele sub configurația bazei de date în wp-config:

if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list[0];
}
$_SERVER[ 'SERVER_ADDR' ] = DOMAIN_CURRENT_SITE;
$_SERVER[ 'REMOTE_ADDR' ] = DOMAIN_CURRENT_SITE;
$_SERVER[ 'HTTP_HOST' ]   = DOMAIN_CURRENT_SITE;

Trebuie să setezi definiția pentru multisite define('DOMAIN_CURRENT_SITE', 'www.betterplace.org'); deasupra acestui cod, desigur.

23 ian. 2015 13:06:18
Comentarii

Pentru mine a fost nevoie doar de HTTP_HOST. Cauza: o majusculă în numele de domeniu configurat al site-ului.

Pallieter Koopmans Pallieter Koopmans
9 mar. 2025 15:59:59
0
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', '**https://hotgossips.in**');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
define( 'DISALLOW_FILE_EDIT', false );

Introduceți adresa completă a site-ului în URL, indiferent dacă începe cu www, https sau https://www

După o zi de căutare, am găsit soluția. Aceasta a funcționat pentru mine. Sper să funcționeze și pentru tine!!

1 nov. 2020 21:24:25
0
-1

Dacă folosiți Cloudflare, din fila SSL/TLS a contului dvs. Cloudflare, selectați opțiunea "Full encryption" (Criptare completă). Aceasta va rezolva problema.

SSL TO FULL - Schimbarea setării SSL în Cloudflare la Full encryption

29 feb. 2020 21:02:44