RewriteEngine on
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com$ [NC]
RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Это создаст цикл перенаправления (если выполняется вообще).Чтобы перенаправить с HTTP на HTTPS, вам необходимо сначала проверить, что вы еще не используете HTTPS (в противном случае вы получите цикл перенаправления).
Эти директивы должны быть указаны в .htaccess
в корне документавашего субдомена.Или вверху вашего корневого (WordPress) .htaccess
файла, если поддомен указывает на корень документа основного сайта.Важно то, что перенаправление должно идти до фронт-контроллера WordPress.
Это также предполагает, что ваш SSL-сертификат установлен непосредственно на сервере приложений, а не прокси.
Попробуйте следующее:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com [NC]
RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Это проверяет, что HTTPS
не содержит "on" и , а поддомен запрашивается перед перенаправлением на HTTPS на том же хосте.
Хотя если WP просто перенаправляет основной домен, то вы можете сделать все это в .htaccess
и просто удалить условие, которое проверяет соответствие HTTP_HOST
.Хотя, если у вас есть другие субдомены, которые не следует перенаправлять на HTTPS, измените CondPattern , чтобы он соответствовал только субдомену или основному домену (и субдомену www).Например:
RewriteCond %{HTTP_HOST} ^((subdomain|www)\.)?example\.com [NC]