Правила перезаписи HTTPS в HTTP не работают должным образом

Я изо всех сил пытаюсь заставить эти правила перезаписи работать, и мне было интересно, может ли кто-нибудь указать мою ошибку.

Следующее должно перенаправить пользователя на HTTPS, если они находятся на странице входа или в панели управления администратора. Если они отправятся куда-нибудь еще на сайт, он должен вернуться к HTTP.

# Redirect users to HTTPS when at the Login page or the Admin dashboard RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^\/Blog\/(wp-login.php) https://%{HTTP_HOST}/Blog/$1 [NC,R=301,L] RewriteRule ^\/Blog\/wp-admin\/(.*) https://%{HTTP_HOST}/Blog/wp-admin/$1 [NC,R=301,L] # Redirect users to HTTP when not at the Login page or Admin Dashboard # Avoid loading mixed http/https content by excluding /wp-content/* and /wp-includes/* RewriteEngine On RewriteCond %{SERVER_PORT} !^80$ RewriteRule !^\/Blog\/(wp-login.php|wp-admin\/(.*)|wp-content\/(.*)|wp-includes\/(.*)) http://%{HTTP_HOST}/$1 [NC,R=301,L] 

Я – это noob, поэтому не уверен, что это правильно. Кажется, что он работает, за исключением двух сценариев:

  1. Если я перейду на любую страницу или сообщение на своем веб-сайте в качестве https вместо http, я перенаправляюсь на главную домашнюю страницу. Например: посетите https://example.com/about и я попал на http://example.com а не http://example.com/about
  2. Библиотека мультимедиа моей панели управления admin загружает по https, но не показывает замок. Я считаю, потому что он обращается к содержимому в / wp-content / uploads через HTTP вместо HTTPS.

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

 RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] 

Заранее благодарим за любую помощь, которую вы можете предоставить.

Переадресация SSL и переадресация на вход должны выполняться с помощью константы FORCE_SSL_ADMIN в wp-config.php:

  define('FORCE_SSL_ADMIN', true); 

Для получения дополнительной информации: Администрирование через SSL

Кроме того, если вы хотите перенаправить на http, когда вы вошли в систему и в интерфейсе, посмотрите:

Перенаправить URL-адрес https на передний план WordPress на http без плагина