Потеря доступа к панели администратора WordPress после включения Force SSL в WordPress Https (SSL)

27 нояб. 2013 г., 09:41:02
Просмотры: 29.7K
Голосов: 2

Я в ужасном положении. Я потерял доступ к панели администратора, и решения, предложенные командой плагина в их документации, не работают. Я пробовал оба метода с использованием Webmatrix. Мне нужно запустить сайт в пятницу, и я не знаю, что делать.

Вот что они предложили:

Как сбросить настройки плагина?
Перейдите к файлу /wp-content/plugins/wordpress-https/wordpress-https.php и раскомментируйте (удалите два слеша перед) строку ниже, или добавьте эту строку в ваш файл wp-config.php. Откройте любую страницу вашего сайта, а затем удалите эту строку или закомментируйте её обратно.

define('WPHTTPS_RESET', true);

Настройки не сохраняются!

Вы сбросили плагин, следуя шагам выше, но забыли закомментировать строку обратно или удалить её из wp-config.php?

1
Комментарии

Вы пробовали переименовать или удалить папку плагина через FTP? Это отключит плагин, и всё снова должно заработать нормально

Marcos Rodrigues Marcos Rodrigues
27 нояб. 2013 г. 10:00:08
Все ответы на вопрос 3
3

Сначала переименуйте папку wp-content/plugins/wordpress-https в wp-content/plugins/wordpress-https-OFF, чтобы WordPress не мог её найти и запустить.

Затем добавьте следующие строки в ваш файл wp-config.php, заменив доменное имя на ваше:

define( 'WP_SITEURL', 'http://example.com/' );
define( 'WP_HOME', 'http://example.com/' );
29 нояб. 2013 г. 23:39:47
Комментарии

Привет, должен ли WP_SITEURL быть таким же IP-адресом, как WP_HOME? Если я установлю оба на локальный сетевой IP-адрес, в интернете он пытается открыть IP с 192 вместо моего публичного IP!

Ciasto piekarz Ciasto piekarz
5 февр. 2017 г. 21:03:33

@ciasto-piekarz Они могут быть разными. WP_SITEURL указывает, где находится WordPress, тогда как WP_HOME — это базовая часть вашего сайта. Лучше использовать доменные имена, а не IP-адреса.

webaware webaware
5 февр. 2017 г. 23:26:42

спасибо, я изменил, но даже когда я работаю локально и пытаюсь протестировать, он открывает доменное имя вместо локального сетевого IP веб-сервера, где установлен WordPress

Ciasto piekarz Ciasto piekarz
7 февр. 2017 г. 01:46:29
0

Я перепробовал все способы сброса плагина, но ни один не сработал. В итоге я нашёл решение: удалить соответствующие данные из базы данных.

Ваш вариант — зайти в базу данных и выполнить следующий запрос:

DELETE
FROM wp_options
WHERE option_name LIKE 'wordpress-https%'
21 мая 2014 г. 09:23:11
0

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

Шаг 1: Деактивация плагина WordPress-HTTPS

Поскольку вы не можете войти в админку, это нужно сделать в обход WordPress. Самый простой и грубый способ — переименовать папку плагина.

  1. С помощью FTP, командной строки или файлового менеджера вашего хостинга (например, через cPanel) перейдите в папку wp-content\plugins\
  2. Переименуйте папку плагина wordpress-https в wordpress-https1

Неважно, как именно вы её переименуете. WordPress считает, что плагин "WordPress-HTTPS" активен и находится в папке "wordpress-https". Переименовав папку, мы скрываем плагин от WordPress, и его код перестаёт выполняться.

Более элегантный и безопасный способ — использование WP-CLI. Это интерфейс командной строки, позволяющий выполнять большинство административных функций WordPress из shell Linux/Unix. Но не у всех есть доступ к shell (например, через SSH), и не на каждом хостинге установлен WP-CLI. Если он установлен:

  1. Введите команду wp plugin list, чтобы убедиться, что плагин активен
  2. Введите команду wp plugin deactivate wordpress-https

Шаг 2: Очистка всего кеширования

Теоретически WordPress-HTTPS теперь неактивен и не должен мешать входу. Но некоторые браузеры и хостинги используют кеширование, которое может сохранить предыдущие перенаправления.

Чтобы гарантированно получить актуальный доступ к сайту:

  1. Если у вас включены плагины кеширования (например, W3 Total Cache), отключите их. Некоторые можно отключить через панель управления хостингом (например, SuperCacher от SiteGround), другие нужно деактивировать, как описано выше.
  2. Если хостинг использует кеширование вне WordPress, отключите его (обычно через панель управления хостингом).
  3. Если используется CDN (например, CloudFlare), временно отключите его.
  4. Очистите кеш и куки в браузере.
  5. Закройте и перезапустите браузер.

Шаг 3: Попытка входа

Если всё сделано правильно, теперь вы сможете войти.

Шаг 4: Если вход всё ещё невозможен, временно переключите сайт на http

В настройках вашего сайта, вероятно, указано использование https для URL сайта и домашней страницы. Если проблема связана только с настройкой "force admin", это может не помочь. Но как последний вариант можно попробовать отключить https для всего сайта.

Эти настройки URL находятся на странице Настройки → Общие, к которой вы сейчас не можете получить доступ. Но они хранятся в таблице WordPress wp_options. Их можно изменить двумя способами:

  • Как описано в ответе webaware, определите несколько констант в wp-config.php, не забыв удалить их после завершения.
  • Отредактируйте базу данных напрямую через phpMyAdmin или свой PHP-код. Эти настройки называются "siteurl" и "home" и находятся в начале таблицы wp_options. Измените их с https на http.

Шаг 4: Удаление настроек, вызвавших блокировку

Пропустите этот шаг, если планируете полностью отказаться от WordPress HTTPS. В этом случае можно просто удалить папку wordpress-https1.

Но этот плагин очень полезен при включённом SSL, поэтому вы можете захотеть снова его активировать после входа. Если сделать это сейчас, проблемы со входом, вероятно, вернутся.

Нужно удалить настройки WordPress-HTTPS из таблицы опций WordPress. Это по сути сбросит его до состояния "только что установлен". Есть два способа сделать это.

Вариант 1: Удаление напрямую из базы данных

Все настройки находятся в таблице wp_options вашей базы данных и начинаются с "wordpress-https". Удаление этих строк сбросит WordPress-HTTPS, после чего его можно будет безопасно активировать.

Вариант 2: Использование флага "reset" плагина

Как указано в вашем вопросе, можно определить константу WPHTTPS_RESET. При следующем запуске WordPress HTTPS увидит этот флаг и очистит свои настройки. Возможно, ранее это не сработало из-за проблем с кешированием.

19 нояб. 2015 г. 18:23:29