Предыстория: был рабочий сайт 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
Это сработало для меня.
//define('COOKIE_DOMAIN', 'www.domain.com');
в вашем wp-config.php Я испытал это из-за моего кэширующего плагина.
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, так вот как я ее исправил!
Ура!
Я был 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
ВАЖНЫЕ ЗАМЕТКИ:
Если вы собираетесь изменить что-либо непосредственно в базе данных, убедитесь, что вы прочитали раздел, в котором говорится о GUID
Если вы используете 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