Администрирование паролей пользователей WordPress заблокировано после перемещения серверов

Предыстория: был рабочий сайт WordPress 3.7 на olddomain.com.

Я переместил его в newdomain.com успешно и в процессе добавил это к wp-config:

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

Теперь, когда я пытаюсь войти в систему из newdomain.com/wp-admin, я получаю кросс-браузерную ошибку (несмотря на то, что файлы cookie включены и очищены существующие файлы cookie):

 ERROR: Cookies are blocked or not supported by // your browser. You must enable cookies to use WordPress. 

Я попытался войти в wp-login.php и прокомментировать следующие строки (744-747), чтобы остановить проверку условного теста

  // If cookies are disabled we can't log in even with a valid user+pass if ( isset($_POST['testcookie']) && empty($_COOKIE[TEST_COOKIE]) ) $user = new WP_Error('test_cookie', __("<strong>ERROR</strong>: Cookies are blocked or not supported by // your browser. You must <a href='http://www.google.com/cookies.html'>enable cookies</a> to use WordPress.")); else $user = wp_signon('', $secure_cookie); 

но это оставляет меня зацикленным в цикле перенаправления обратно на страницу администратора:

 http://myapp.com/wp-login.php?redirect_to=http%3A%2F%2Fmyapp.com%2Fwp-admin%2F&reauth=1 

Нужно ли изменять (или не устанавливать) URL-адрес сайта? или есть другой потенциальный способ устранения этого? благодаря

Мигрировав сотни сайтов WP, вот несколько соображений:

Если вы переносите БД: проверьте таблицу опций базы данных (возможно, wp_options) в столбце «имя_параметра», значение «siteurl» и «home» имеет правильную «option_value» для вашего сайта. «siteurl» огромен.

Я могу засвидетельствовать, что настройка таблицы параметров – это минимальный минимум, необходимый для переноса БД в новый домен в WP. (не будет перенаправлять, все равно будут проблемы)

WP ищет эти параметры БД для сериализации сайта в домене, и я уверен, что определения ниже в стеке и никакой помощи. Рассмотрите действия wp-admin как слабо связанные с фронтом. Вы можете сломать все (сделать это) спереди, и администратор все равно будет функционировать.

Также – сделал / работает ли сайт с общей установкой / отсутствием миграции или настройками?

Как уже упоминалось – .htaccess (отсутствует или неправильно сконфигурирован) вызовет вашу ошибку. Что касается файла .htaccess, если он используется, это dot.file, и многие операционные системы будут «игнорировать» или «делать невидимыми», поэтому приложение для копирования / вставки или FTP или подобное может не иметь .htaccess

(довольно уверен в этом). Если вы переместили БД и использовали довольно URL-адреса, и пропустили .htaccess, которые могли бы быть все, что вам нужно исправить. Я просто протестировал локально на установке песочницы, а столбец wp_option «option_name» значение «permalink_structure», когда он оставлен пустым в столбце option_value, вернется в состояние? P = 1 (не permalink), а .htaccess будет в основном обойден.

добавить в wp-config.php

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

исходный источник http://wordpress.org/support/topic/cookie-error-site-not-letting-me-log-in

Это сработало для меня.

  1. Удалить //define('COOKIE_DOMAIN', 'www.domain.com'); в вашем wp-config.php
  2. Убедитесь, что все файлы имеют формат ANSI, а не utf-8

Я испытал это из-за моего кэширующего плагина.

W3 Total Cache добавил в файл wp-config.php следующее:

 define('COOKIE_DOMAIN', 'www.olddomain.com'); // Added by W3 Total Cache 

Поскольку он был жестко закодирован, он не обновлялся до нового домена сайта. После удаления добавленного кода (поскольку в настоящее время я не использую плагин), я смог снова войти в систему.

Я бы проверил wp-config.php на слово «cookie», чтобы увидеть, добавил ли плагин что-то вроде этого.

Эта ошибка также возникает при перемещении многопользовательской установки в новый домен, если вы обновляете все параметры в таблице базы данных (обычно wp_options ), но забудьте изменить строку DOMAIN_CURRENT_SITE на wp-config.php :

 define( 'DOMAIN_CURRENT_SITE', 'yourdomain.com' ); 

Я получал такую ​​же ошибку.

Я был жестко закодирован Home и SiteURL в wp-config.php для совершенно нового сайта – никаких плагинов даже не установлен.

Проблема: у меня было место в конце URL-адреса.

 define('WP_HOME','http://100.000.000.01/~acctname/wp '); define('WP_SITEURL','http://100.000.000.01/~acctname/wp '); 

Удаление места фиксировало эту ошибку.

 define('WP_HOME','http://100.000.000.01/~acctname/wp'); define('WP_SITEURL','http://100.000.000.01/~acctname/wp'); 

эта ошибка заставляла меня сходить с ума в последние пару дней, поэтому я подумал, исправляя ее, чтобы поделиться с вами, ребята! проблема была в том, что когда я пытался войти в мой бэкэнд WordPress, я получил эту раздражающую ошибку cookie, так вот как я ее исправил!

  1. Перейдите на свой ftp и ваш домен.
  2. После этого перейдите в свой wp-контент
  3. Перейдите в папку тем
  4. Выберите тему, которая активна
  5. Ищите функции.php вашего teem и откройте его
  6. В конце кода вы должны увидеть закрывающий тег p> просто удалите его и очистите пространства и сохраните его!
  7. Перейдите на страницу domain.com/wp-login.php
  8. и попробуйте войти в систему, он должен быть исправлен после этого, вы можете вернуть тег туда, где он был, и сохранить его снова, что было для меня решением. Этот трюк также устраняет проблему с белой страницей в wordpress

Ура!

Я был googled и пробовал все способы избавиться от этой проблемы с печеньем. Наконец я нашел два решения, которые могли бы вам помочь.

Решение 1:

YourSite / WP-login.php

Комментарий по строкам 770-773

Код

 if ( isset($_POST['testcookie']) && empty($_COOKIE[TEST_COOKIE]) ) $user = new WP_Error('test_cookie', __("<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href='http://www.google.com/cookies.html'>enable cookies</a> to use WordPress.")); else $user = wp_signon('', $secure_cookie); 

Он может работать на некоторых веб-сайтах, и на некоторых сайтах может отображаться пустая страница. Более того, это не рекомендуется, так как этот файл может быть переопределен после обновления WordPress, поэтому попробуйте второе решение.

Решение 2:

YourSite / WP-содержание / темы / yourthemeFolder / functions.php

Поместите следующий код.

  setcookie(TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN); if ( SITECOOKIEPATH != COOKIEPATH ) setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN); 

Обновление вашей темы также может потерять эти изменения, поэтому, пожалуйста, поместите этот код в другой файл functions.php, который находится под вашей дочерней темой в текущей активной теме. Надеюсь, что это поможет вам.

Предполагая, что вы работаете на платформе Unix / Linux, убедитесь, что вы скопировали файл .htaccess с исходного сервера и обновили любые ссылки на старый домен в этом файле. Он будет в корне вашего развертывания WordPress (если вы его используете).

Либо это, либо у вас может быть ссылка на ваш старый домен где-то в вашей таблице wp_options в базе данных.

Будьте предупреждены о том, что, переместившись из одного домена в другой, изображения и места размещения в сообщениях могут быть обновлены. Вы можете сделать это непосредственно непосредственно в базе данных, использовать утилиту find / replace или вручную переназначить свои изображения в своих сообщениях. Альтернативный метод для исправления ваших почтовых данных – экспортировать все ваши сообщения с вашего старого сайта (из панели администратора) – Инструменты> Экспорт> Все сообщения; затем вручную обновите URL-адрес в этом результирующем файле перед импортом на новый сайт.

Все это и многое другое описано на codex.wordpress.org . Для получения дополнительной информации см. Эту ссылку:

http://codex.wordpress.org/Changing_The_Site_URL

ВАЖНЫЕ ЗАМЕТКИ:

  1. Если вы собираетесь изменить что-либо непосредственно в базе данных, убедитесь, что вы прочитали раздел, в котором говорится о GUID

  2. Если вы используете Better WP Security , вам могут понадобиться другие вещи , но, основываясь на том, что вы описываете, я сомневаюсь, что вы его установили.

У меня была та же проблема с очень похожими обстоятельствами и спецификациями.

В конце концов, попробовав всевозможные решения, предлагаемые в Интернете, я просто переименовал свою активную тему через FTP, а затем смог войти в панель управления, я переименовал свою тему назад, и все сработало, я не знаю, почему, но это может помочь кому-то исправить проблемы, которые у них есть.

У меня была такая же проблема, и ничего не получилось. После обновления моего php 5.3.x до 5.4.x он отлично работает.

Следующий шаг решить мою проблему

на wp-config.php

 //define('WP_CACHE', true); // Added by W3 Total Cache Block this line //define("COOKIE_DOMAIN", "www.domain.com"); Block this line 

Удаление следующих файлов из wp-контента

 object-cache.php advanced-cache.php db.php