Loop di reindirizzamento (solo per l'amministratore della rete multisite)

23 gen 2015, 08:41:09
Visualizzazioni: 31.7K
Voti: 3

Riesco ad accedere a http://localhost/wp/wp-admin/ senza problemi, ma quando provo ad accedere a http://localhost/wp/wp-admin/network/ si verifica un loop di reindirizzamento di rete (ERR_TOO_MANY_REDIRECTS). Il sito funziona correttamente anche quando sono loggato.

Come posso scoprire cosa sta causando questo problema? WordPress 4.1 è installato nella sottodirectory 'wp' e poi convertito in multisite. Al momento c'è solo un sito nella rete.

aggiornamento: Questo sembra molto rilevante: https://wordpress.org/support/topic/network-site-redirect-loop-solution

  • Una soluzione alternativa è rimuovere il controllo per verificare se $current_blog->path corrisponde a $current_site->path.

Ho provato a cancellare i cookie e aggiungere questo codice a wp-config:

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

Il mio .htaccess (non modificato dalla configurazione WordPress multisite):

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

# aggiunge uno slash finale a /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
Tutte le risposte alla domanda 6
1

Anche io ho avuto lo stesso problema di reindirizzamento quando cercavo di accedere a wp-admin/network. Eseguendo le seguenti modifiche è stato risolto.

1). Nel file wp-config.php, ho aggiunto www.sito.com invece di solo sito.com define('DOMAIN_CURRENT_SITE', 'www.sito.com');

2). Utilizzare phpmyadmin --> tabella wp_blogs Aggiungere www. al valore del dominio

In pratica, sia il nome del sito che quello del blog devono essere esattamente uguali.

Saluti!

4 mag 2020 16:55:38
Commenti

Questo ha funzionato, grazie! Ho configurato più multisiti ma apparentemente tutti avevano un dominio principale senza il www :D

mMoovs mMoovs
29 lug 2020 15:39:50
0

Il problema è qui: nel file htaccess, invece di questo:

RewriteBase /

dovresti avere

RewriteBase /wp/

nel file wp-config.php, dovrebbe esserci:

define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);     // oppure true, dipende dal metodo scelto
define('DOMAIN_CURRENT_SITE', 'localhost');
define('PATH_CURRENT_SITE', '/wp/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
29 set 2016 23:40:03
2

C'è un'altra possibile causa del loop quando si tenta di accedere a:

/wp-admin/network/

Viene attivato un reindirizzamento alla fine di:

/wp-admin/network/admin.php

Questo controlla che il blog corrente e il sito web corrente abbiano gli stessi valori di percorso e dominio. Se non corrispondono, avviene il reindirizzamento.

Verifica attentamente che il percorso specificato nella tabella wp_blogs sia lo stesso del percorso impostato sul sito corrente.

Questi valori possono andare fuori sincronizzazione, specialmente quando si installano le applicazioni all'interno di una directory, ad esempio /blog/

22 mag 2019 13:07:50
Commenti

Questa soluzione ha funzionato per me poiché avevo un'installazione multisito in una sottodirectory. Devi sincronizzare l'URL in 1) DB > wp_blog 2) DB > wp_sites E ANCHE 3) wp_config.php > DOMAIN_CURRENT_SITE, PATH_CURRENT_SITE.

Larzan Larzan
24 lug 2020 18:59:22

Questo è stato il vero fattore scatenante. Grazie per la condivisione.

mendezcode mendezcode
17 ago 2024 23:51:42
1

Nel tuo file wp-config.php, dovresti sovrascrivere le variabili del server che causano il problema aggiungendo questo sotto la configurazione del database in 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;

È necessario impostare la tua definizione multisito define('DOMAIN_CURRENT_SITE', 'www.betterplace.org'); sopra questo codice, ovviamente.

23 gen 2015 13:06:18
Commenti

Per me è stato necessario solo HTTP_HOST. La causa: una lettera maiuscola nel nome del dominio configurato del sito.

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 );

Inserisci semplicemente il tuo indirizzo completo nell'URL del sito web, sia che inizi con www, https o https://www

Dopo aver cercato per un giorno ho trovato la mia soluzione. Questo ha funzionato per me. Spero che funzioni anche per te!!

1 nov 2020 21:24:25
0
-1

Se stai utilizzando Cloudflare, dalla scheda SSL/TLS del tuo account Cloudflare, seleziona "Full encryption". Questo risolverà il problema.

Impostazione SSL su Full in Cloudflare

29 feb 2020 21:02:44