Цикл перенаправлений (только для администратора мультисайтовой сети)

23 янв. 2015 г., 08:41:09
Просмотры: 31.7K
Голосов: 3

Я могу нормально войти в http://localhost/wp/wp-admin/, но при попытке входа в http://localhost/wp/wp-admin/network/ возникает циклическое перенаправление в сети (ERR_TOO_MANY_REDIRECTS). При этом сайт нормально загружается даже при авторизованном входе.

Как можно выяснить причину этого? WordPress 4.1 установлен в подкаталог 'wp', затем преобразован в мультисайт. В сети пока только один сайт.

обновление: Это кажется очень актуальным: https://wordpress.org/support/topic/network-site-redirect-loop-solution

  • Обходное решение заключается в удалении проверки соответствия между $current_blog->path и $current_site->path.

Я пробовал очистить куки и добавить этот код в wp-config:

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

Мой .htaccess (не модифицированный после настройки WordPress multisite):

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

# добавить завершающий слэш к /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
Все ответы на вопрос 6
1

У меня была такая же проблема с редиректом при попытке доступа к wp-admin/network. Внесение следующих изменений решило проблему.

1). В файле wp-config.php добавил www.website.com вместо просто website.com define('DOMAIN_CURRENT_SITE', 'www.website.com');

2). Использовал phpmyadmin --> таблица wp_blogs Добавил www. к значению домена

По сути, имя сайта и имя блога должны быть абсолютно одинаковыми.

Удачи!

4 мая 2020 г. 16:55:38
Комментарии

Это сработало, спасибо! Я настраивал несколько мультисайтов, но, видимо, у всех них был основной домен без www :D

mMoovs mMoovs
29 июл. 2020 г. 15:39:50
0

Проблема здесь: в файле htaccess, вместо этого:

RewriteBase /

должно быть:

RewriteBase /wp/

В файле wp-config.php должны быть следующие настройки:

define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);     //или true, зависит от выбранного вами способа
define('DOMAIN_CURRENT_SITE', 'localhost');
define('PATH_CURRENT_SITE', '/wp/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
29 сент. 2016 г. 23:40:03
2

Есть ещё одна возможная причина зацикливания при попытке доступа к:

/wp-admin/network/

Редирект срабатывает в нижней части файла:

/wp-admin/network/admin.php

Там проверяется, что текущий блог и текущий сайт имеют одинаковые значения пути и домена. Если они различаются, происходит редирект.

Дважды проверьте, что путь, указанный в таблице wp_blogs, совпадает с путём, установленным для текущего сайта.

Эти значения могут рассинхронизироваться, особенно при установке приложений внутри директории, например, /blog/

22 мая 2019 г. 13:07:50
Комментарии

Это решение сработало для меня, так как у меня была мультисайтовая установка в поддиректории. Необходимо синхронизировать URL в 1) БД > wp_blog 2) БД > wp_sites, А ТАКЖЕ 3) wp_config.php > DOMAIN_CURRENT_SITE, PATH_CURRENT_SITE.

Larzan Larzan
24 июл. 2020 г. 18:59:22

Это был реальный триггер. Спасибо, что поделились.

mendezcode mendezcode
17 авг. 2024 г. 23:51:42
1

В вашем файле wp-config.php вам следует переопределить серверные переменные, вызывающие проблему, добавив следующий код ниже конфигурации базы данных в 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;

Конечно, вам нужно установить мультисайтовую константу define('DOMAIN_CURRENT_SITE', 'www.betterplace.org'); выше этого кода.

23 янв. 2015 г. 13:06:18
Комментарии

Мне понадобился только HTTP_HOST. Причина: заглавная буква в настроенном доменном имени сайта.

Pallieter Koopmans Pallieter Koopmans
9 мар. 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 );

Просто укажите полный адрес вашего сайта в URL, независимо от того, начинается ли он с www, https или https://www

После дня поисков я нашел решение. Это сработало для меня. Надеюсь, сработает и для вас!!

1 нояб. 2020 г. 21:24:25
0
-1

Если вы используете Cloudflare, перейдите во вкладку SSL/TLS вашего аккаунта Cloudflare и выберите опцию "Полное шифрование". Это решит проблему.

SSL TO FULL - Настройка SSL в Cloudflare

29 февр. 2020 г. 21:02:44