Назад | Перейти на главную страницу

перенаправить все поддомены с http на https

Я перенаправляю все HTTP-запросы для моего поддомена на https, используя следующий код.

<VirtualHost *:80>
  ServerName subdomain.example.com
  Redirect 302 / https://subdomain.example.com
</VirtualHost>

Теперь моя проблема в том, как это сделать для всех поддоменов.

Например, http: subdomain1.example.com должен перейти на https: subdomain1.example.com, а http: subdomain2.example.com должен перейти на https: subdomain2.example.com.

Как мне сделать это для всех поддоменов, не создавая один виртуальный хост для всех из них

Что приходит в голову, так это использовать mod_rewrite.

Что-то вроде этого :

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)\.example.com$
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L]

Однако обратите внимание, что Apache рекомендует использовать Redirect для этого в конфигурации виртуального хоста.

Из документа Когда не использовать mod_rewrite :

В случае перенаправления http-to-https использование RewriteRule было бы целесообразным, если у вас нет доступа к основному файлу конфигурации сервера, и вместо этого вы обязаны выполнять эту задачу в файле .htaccess.