Отключение SSL / HTTPS для WordPress
Я установил WordPress и настроил базу данных.
Перехожу по адресу, страница установки есть, но CSS отсутствует.
Думаю: что-то не так, но может после завершения установки всё придет в норму.
Нет.
Затем я потратил некоторое время на поиск решений по проблеме "стили WordPress не работают" и т.д.
Я обнаружил, что все ссылки присутствуют в head страниц и указывают на правильные файлы, но они не загружаются.
WordPress пытается использовать защищенное соединение, но у меня нет SSL-сертификата или чего-то подобного, и я не думаю, что он мне нужен для этого. Это означает, что все ссылки на таблицы стилей и скрипты считаются ненадежными и блокируются.
Я изменил поиск в направлении отключения https / ssl, но ничего из найденного не работает.
Например, я пробовал добавлять данные в файл .htaccess (потерял ссылку на другой похожий вопрос на этом сайте)
Я пытался найти строки типа define( 'force_SSL', true );
в wp-config.php, но безуспешно (связанный вопрос). Я также пробовал добавлять эти строки (меняя их на false).
Спасибо за любую помощь.
Решение: Проблема была не в том, что я думал. Dataplicity (я работаю на Raspberry Pi) принудительно использует HTTPS, но поскольку WordPress не использовал HTTPS, "небезопасные" скрипты не загружались. Всё, что мне нужно было сделать - это включить HTTPS.
Я уверен, что ответы ниже помогли бы, если бы моя проблема была той, о которой я думал, и надеюсь, они помогут другим с такой же проблемой, которая была у меня изначально.

Проверьте ваш файл wp-config.php
на наличие строк, таких как:
define( 'WP_SITEURL', 'https://example.com' );
define( 'WP_HOME', 'https://example.com' );
Также проверьте таблицу {prefix}_options
в вашей базе данных:
SELECT * FROM wp_options WHERE option_name='siteurl' OR option_name='home';
...предполагая, что префикс вашей базы данных - wp_
.

Проблема: значения siteurl и home в базе данных обновлены на https, для исправления выполните следующее.
Чтобы быстро поднять сайт, добавьте следующие строки под существующими define-директивами в wp-config.php. Это переопределит значения из базы данных. Вы можете указать свой домен вместо localhost.
define( 'WP_SITEURL', 'http://localhost');
define( 'WP_HOME', 'http://localhost');
Исправление ссылок на https в базе данных
Перейдите в phpMyAdmin и выполните следующий запрос, затем отфильтруйте строки по https, как показано на изображении ниже. Если вы найдете записи home и siteurl с https, замените их на http.
SELECT * FROM wp_options
После удаления https из базы данных удалите следующие строки из wp-config.php и перезапустите Apache.
define( 'WP_SITEURL', 'http://localhost');
define( 'WP_HOME', 'http://localhost');
Ваш сайт должен заработать. Удачи!

Проверьте ваш файл wp-config.php
на наличие строк типа:
define( 'WP_SITEURL', 'https://....' );
define( 'WP_HOME', 'https://.....' );
Если вы используете Linux-сервер, отредактируйте или создайте файл .htaccess
в папке WordPress с следующим содержимым:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
Или лучший вариант:
Если WordPress уже установлен, перейдите в
Настройки>Общие>
Адрес WordPress (URL)
: измените с https
на http
Адрес сайта (URL)
: сделайте то же самое здесь

Я решил проблему. Но проблема была не в том, что я думал. Вы можете увидеть решение в моём вопросе. Я думаю, что это и другие ответы здесь сработали бы, если бы проблема была в этом. Кстати, я не мог войти в админку (это было небезопасно), поэтому я не мог перейти в настройки.

Пожалуйста, проверьте URL вашего сайта, установленный в настройках. Это можно сделать через базу данных, как сказал Пэт, но если вы не так технически подкованы и у вас все еще есть доступ к админке WordPress, воспользуйтесь этим способом.
Перейдите в Настройки → Общие и проверьте параметры Адрес WordPress (URL)
и Адрес сайта (URL)
. Они должны начинаться с http
, а не с https
.

Я решил проблему. Но проблема оказалась не той, о которой я думал. Вы можете увидеть решение в моём вопросе. Я думаю, что этот и другие ответы здесь сработали бы, если бы проблема была такой. Кстати, я не мог войти в админку (это было небезопасно), поэтому не мог перейти в настройки. Как я уже сказал Пату, я всё равно проверил базу данных.

В моем файле wp-config.php
есть:
define('WP_SITEURL', FLYWHEEL_DEFAULT_PROTOCOL . 'example.com');
define('WP_HOME', FLYWHEEL_DEFAULT_PROTOCOL . 'example.com');
Вам нужно найти эту строку:
define('FLYWHEEL_DEFAULT_PROTOCOL', 'https://');
И изменить https://
на http://

Следуя ответу Пэта. Вы можете попробовать добавить эти 2 строки в файл wp-config.php, чтобы проверить, исправят ли они ошибку:
define( 'WP_SITEURL', 'http://example.com' );
define( 'WP_HOME', 'http://example.com' );
Это заставит WordPress использовать HTTP-версию вашего домена. Если это решит проблему, значит, что-то в базе данных вызывает её.
Если у вас установлены плагины, убедитесь, что отключили их все, чтобы проверить, не вызывает ли один из них эту проблему.
Также рекомендую использовать режим инкогнито в Chrome или приватный режим в Firefox для посещения вашего сайта и проверки, продолжает ли WordPress использовать HTTPS.
Если в режиме инкогнито всё работает (WordPress правильно использует HTTP), попробуйте очистить кэш браузера. Я видел случаи, когда кэш браузера перенаправлял HTTP-трафик на HTTPS, даже если HTTPS не работал. Рекомендую убедиться, что проблема не в кэше.

Кажется, это ни на что не влияет, даже в режиме инкогнито/приватном. Вы имеете в виду плагины для браузера? Я раньше не использовал WordPress и ничего на нём не делал, кроме настройки и редактирования .htaccess и wp-config.php, чтобы попытаться решить эту проблему.

@cCe.jbc Это действительно странно. Я имел в виду плагины WordPress, но похоже, у вас их пока нет. Как выглядит ваш файл .htaccess? Это стандартный htaccess или там есть какие-то изменения?
Базовый htaccess можно посмотреть здесь: https://codex.wordpress.org/htaccess
