Вопрос или проблема
ИЗМЕНЕНИЕ:
Оказалось, что решение заключалось в простой переустановке WordPress (это был новый блог). Все еще не уверен, в чем действительно была проблема, но это ее решило.
Я попробовал каждое единственное решение на Stack Exchange и других сайтах, и ничего не помогло.
Я проверил, чтобы wp_ было перед всеми моими таблицами.
Я обновил http:// на https:// везде в базе данных.
Я пробовал использовать FORCE_SSL_ADMIN с $_SERVER[‘HTTPS’]=’on’ и без него и т. д.
и т. д.
В данный момент у меня это в wp-config.php. Я пробовал ставить это в начале, в конце и везде между ними:
define('FORCE_SSL_ADMIN', true);
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS']='on';
Сейчас у меня это в htaccess выше настроек WordPress (также пытался поставить ниже):
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*) https://www.%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
Я знаю, что проблема в том, что возможности пользователя не устанавливаются с https по какой-то причине. Я просто не знаю, почему или как это исправить.
Например, все эти возможности установлены с http, но не с https:
[switch_themes] => 1
[edit_themes] => 1
[activate_plugins] => 1
[edit_plugins] => 1
[edit_users] => 1
[edit_files] => 1
и т. д.
Я получаю: “Извините, вам не разрешен доступ к этой странице.” независимо от того, что я пробовал.
Я готов сдаться и просто предложить заплатить кому-то, потому что я уже 3 дня занимаюсь этим, но решил сначала спросить здесь.
Буду признателен за любую помощь!
Я бы рекомендовал пока не заставлять HTTPS. Вместо этого уберите все это из wp-config.php и .htaccess. Затем войдите в WordPress, убедившись, что вы используете ссылку HTTPS.
Если вы можете войти, то теперь вы знаете, что можете входить как через HTTP, так и через HTTPS. Затем вы можете заставить HTTPS. Если вы можете войти через HTTP, но не через HTTPS, то я бы рекомендовал изменить ваши SALT-ключи в файле wp-config.php (https://api.wordpress.org/secret-key/1.1/salt/) и снова посетить сайт в режиме инкогнито.
SSL-сертификаты кэшируются вашим браузером, и изменение SALT-ключей может часто заставить эти надоедливые кэши обновиться.
Похоже на @justin-downey, я бы сделал следующее:
1) Удалите все настройки htaccess, wp-config.
2) Используйте другой браузер, чтобы избежать кэшированных версий в браузере.
3) Войдите в MySQL и проверьте wp_options на home_url и site_url, убедитесь, что они оба установлены с HTTPS — это должно быть ЕДИНОЕ место, где настроен HTTPS.
Далее все должно быть в порядке, затем добавьте редирект в htaccess — пропустите правила wp-config, так как все будет работать нормально с правильно установленным URL в базе данных.
Ответ или решение
Ваша проблема с доступом к панеле wp-admin после установки SSL может быть довольно распространенной, и, как вы уже заметили, есть несколько шагов, которые можно предпринять, чтобы решить её. Вот подробный план действий, который может помочь восстановить доступ и настроить HTTPS без лишних проблем.
1. Удаление старых настроек
Первым делом я рекомендую вам удалить все настройки, связанные с принуждением HTTPS, как в файле wp-config.php
, так и в .htaccess
. Это позволит вам проверить, сможете ли вы войти, прежде чем снова вводить перенаправления:
Файл wp-config.php
: Удалите или закомментируйте следующие строки:
define('FORCE_SSL_ADMIN', true);
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS'] = 'on';
Файл .htaccess
: Удалите любые правила, связанные с перенаправлением на HTTPS, выше и ниже блока WordPress.
2. Проверка URL в базе данных
Сейчас вам следует войти в вашу базу данных через phpMyAdmin или другой инструмент, чтобы убедиться, что значения home
и siteurl
в таблице wp_options
установлены на HTTPS:
SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');
Убедитесь, что оба значения начинаются с https://
.
3. Очистка кеша и сброс куки
Чтобы избежать возможных проблем с кешированием браузера, откройте новый браузер или используйте режим инкогнито, чтобы избежать влияния кеша. Также желательно очистить кеш браузера и удалить куки для вашего сайта.
4. Попробуйте войти снова
Попробуйте зайти на wp-admin, используя HTTPS-адрес. Если вам удастся войти, вы сможете продолжить с настройкой вашего сайта.
5. Изменение ключей SALT
Если вы не можете войти через HTTPS, попробуйте изменить SALT ключи в wp-config.php
. Это может помочь сбросить некоторые кешированные значения:
define('AUTH_KEY', 'ваша-фраза-авторизации');
define('SECURE_AUTH_KEY', 'ваша-фраза-авторизации');
define('LOGGED_IN_KEY', 'ваша-фраза-авторизации');
define('NONCE_KEY', 'ваша-фраза-авторизации');
define('AUTH_SALT', 'ваша-соль');
define('SECURE_AUTH_SALT', 'ваша-соль');
define('LOGGED_IN_SALT', 'ваша-соль');
define('NONCE_SALT', 'ваша-соль');
Вы можете создать новые ключи здесь.
6. Внедрение правил перенаправления
Если вы успешно вошли в свою админку и закрыли проблему с доступом, можете вновь добавить правила перенаправления в файле .htaccess
:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Заключение
После выполнения этих шагов вы должны иметь возможность получить доступ к wp-admin без проблем. Если проблемы все еще сохраняются, возможно, вам стоит рассмотреть волшебство плагинов для управления SSL или обратиться к вашему хостинг-провайдеру для дополнительной поддержки.
Надеюсь, что это поможет вам справиться с проблемой! Если у вас есть другие вопросы, не стесняйтесь обращаться за помощью.