Потеря доступа к панели администратора WordPress после включения Force SSL в WordPress Https (SSL)
Я в ужасном положении. Я потерял доступ к панели администратора, и решения, предложенные командой плагина в их документации, не работают. Я пробовал оба метода с использованием Webmatrix. Мне нужно запустить сайт в пятницу, и я не знаю, что делать.
Вот что они предложили:
Как сбросить настройки плагина?
Перейдите к файлу /wp-content/plugins/wordpress-https/wordpress-https.php
и раскомментируйте (удалите два слеша перед) строку ниже, или добавьте эту строку в ваш файл wp-config.php
. Откройте любую страницу вашего сайта, а затем удалите эту строку или закомментируйте её обратно.
define('WPHTTPS_RESET', true);
Настройки не сохраняются!
Вы сбросили плагин, следуя шагам выше, но забыли закомментировать строку обратно или удалить её из wp-config.php
?
Сначала переименуйте папку 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/' );

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

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

Я перепробовал все способы сброса плагина, но ни один не сработал. В итоге я нашёл решение: удалить соответствующие данные из базы данных.
Ваш вариант — зайти в базу данных и выполнить следующий запрос:
DELETE
FROM wp_options
WHERE option_name LIKE 'wordpress-https%'

В зависимости от конфигурации вашего сайта и браузера, исправление этой проблемы может потребовать нескольких шагов. Ниже приведены действия, которые должны помочь решить большинство подобных проблем.
Шаг 1: Деактивация плагина WordPress-HTTPS
Поскольку вы не можете войти в админку, это нужно сделать в обход WordPress. Самый простой и грубый способ — переименовать папку плагина.
- С помощью FTP, командной строки или файлового менеджера вашего хостинга (например, через cPanel) перейдите в папку
wp-content\plugins\
- Переименуйте папку плагина
wordpress-https
вwordpress-https1
Неважно, как именно вы её переименуете. WordPress считает, что плагин "WordPress-HTTPS" активен и находится в папке "wordpress-https". Переименовав папку, мы скрываем плагин от WordPress, и его код перестаёт выполняться.
Более элегантный и безопасный способ — использование WP-CLI. Это интерфейс командной строки, позволяющий выполнять большинство административных функций WordPress из shell Linux/Unix. Но не у всех есть доступ к shell (например, через SSH), и не на каждом хостинге установлен WP-CLI. Если он установлен:
- Введите команду
wp plugin list
, чтобы убедиться, что плагин активен - Введите команду
wp plugin deactivate wordpress-https
Шаг 2: Очистка всего кеширования
Теоретически WordPress-HTTPS теперь неактивен и не должен мешать входу. Но некоторые браузеры и хостинги используют кеширование, которое может сохранить предыдущие перенаправления.
Чтобы гарантированно получить актуальный доступ к сайту:
- Если у вас включены плагины кеширования (например, W3 Total Cache), отключите их. Некоторые можно отключить через панель управления хостингом (например, SuperCacher от SiteGround), другие нужно деактивировать, как описано выше.
- Если хостинг использует кеширование вне WordPress, отключите его (обычно через панель управления хостингом).
- Если используется CDN (например, CloudFlare), временно отключите его.
- Очистите кеш и куки в браузере.
- Закройте и перезапустите браузер.
Шаг 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 увидит этот флаг и очистит свои настройки. Возможно, ранее это не сработало из-за проблем с кешированием.
