Принудительное прерывание HTTPS на страницах администратора - PullRequest
0 голосов
/ 27 августа 2018

Прежде всего, я искал это и не мог найти это (следовательно, почему я отправляю). Поэтому я прошу прощения, если я просто пропустил решение. Я также решил, что это проблема с сервером htaccess, а не проблема WordPress.

Я недавно внедрил SSL в своем домене. Я исправил все ссылки в базе данных, и сайт работает нормально, пока я не принудительно перенаправляю HTTPS. Когда я это делаю, это также ломает мою страницу входа в WordPress. Страница входа в систему и администратор скрыты с изменениями просто отлично. Я скопировал важные части файла htaccess.

# Force HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Позже

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^string1/(.*) /wp-admin/$1 [QSA,L]
RewriteRule ^string1(.*) /wp-admin/$1 [QSA,L]
RewriteRule ^string2(.*) /wp-login.php$1 [QSA,L]
RewriteRule ^string2/(.*) /wp-login.php$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Первая перезапись находится вверху файла htaccess, а вторая - примерно посередине. Когда я не активирую https, пользователь все еще может получить доступ к HTTP-версии сайта (что явно противоречит цели установки SSL). Когда пользователь находится на HTTP-версии сайта, поскольку все ссылки были обновлены, любые щелчки приводят пользователя к версии HTTPS. Я предполагаю, что проблема в команде {REQUEST_URI}, вызывающей странное переписывание и заканчивающейся 404. Я не получаю никаких предупреждений о смешанном контенте на сайте в Chrome или Firefox.

Как примечание, я не профессионал, поэтому, пожалуйста, держите это немного для меня. Благодарю. :)

1 Ответ

0 голосов
/ 28 августа 2018

Я бы вынул принудительный HTTPS-скрипт из htaccess и очистил кеш, выполнив полную перезагрузку. Если это все еще приводит вас к HTTP-версии, то я думаю, у вас есть смешанный контент Для этого вы можете использовать этот плагин https://wordpress.org/plugins/better-search-replace/ и заменить все "http://" на" https://". Таким образом, он будет искать весь контент не https на сайте (включая вашу базу данных) и заменяет его версией https. После этого подождите некоторое время (около 10 минут) и попробуйте снова зайти на сайт. Дайте мне знать, если это работает

Еще одна вещь, которую я хотел добавить. Если вы перейдете в «Настройки»> «Общие», как выглядят ваши URL-адреса WordPress и URL-адреса сайта? Убедитесь, что они оба работают с версией https.

Что касается моей рекомендации, приведенной выше, более простой способ принудительно установить https без использования функции .htacess - использовать этот плагин "Действительно простой SSL"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...