htaccess Перенаправлять поддомены с подстановочными знаками на https (включая www)

В настоящее время мой файл htaccess перенаправляет запросы не-https для всех моих поддоменов на https … кроме запросов www. То есть http://subdomain.example.com перенаправляется на https://subdomain.example.com (это правильно) но www.subdomain.example.com быть перенаправленным на https://www.subdomain.example.com (неправильно). Вот мой код .htaccess:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Trying to redirect to https
RewriteCond %{HTTPS} off
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,NE,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

</IfModule>

1

Решение

Попробуйте изменить это:

RewriteCond %{HTTPS} off
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,NE,R=301]

в

RewriteCond %{HTTPS} off
RewriteCond %{SERVER_PORT} !=443
RewriteCond %{HTTP_HOST} ^(?:www\.|)(.+\.example\.com)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]