Я хочу перенаправить весь сайт, включая все поддомены, на https.Перенаправление всего сайта на https
Будет ли это работать?
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Я хочу перенаправить весь сайт, включая все поддомены, на https.Перенаправление всего сайта на https
Будет ли это работать?
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Хотя ваш код может работать нормально, но я бы рекомендовал использовать %{HTTP_HOST}
вместо %{SERVER_NAME}
. Пожалуйста, поймите разницу между двумя переменными. %{SERVER_NAME}
- это имя сервера, настроенного в вашем конфигураторе Apache, но позже одно имя домена, полученное в реальном времени в HTTP-запросе. Таким образом, вместо вашего использования кода это:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
RewriteCond %{HTTPS} Off
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Чтобы исключить выше правило для конкретного поддомена использования что-то вроде этого кода:
RewriteCond %{HTTP_HOST} !^sub\.domain\.com$ [NC]
RewriteCond %{HTTPS} Off
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Да, это сработает.
Важно, чтобы правило было до любых правил маршрутизации, которые у вас могут быть, и что никакие другие правила не перенаправляются на http://
.
Спасибо! Если бы я хотел перенаправить весь сайт, кроме одного поддомена, как бы я это сделал? –
вы проверить его от ваших собственных? – Usman