перенаправление htaccess перестает работать после установки SSL

#.htaccess #ssl #redirect

#.htaccess #ssl #перенаправление

Вопрос:

Мой файл .htaccess раньше успешно перенаправлял трафик с www.mysite.com или mysite.com к www.mysite.co.uk

Затем я установил SSL-сертификат на www.mysite.co.uk

Впоследствии любой, кто пытается достичь www.mysite.com или mysite.com получены предупреждения «Этот сайт небезопасен» или «Предупреждение: впереди потенциальная угроза безопасности».

Мой вопрос заключается в том, можно ли этого избежать с помощью настройки перенаправления в файле .htaccess

Исходные записи .htaccess, которые действительно работали, были:

 # 301 Redirect 1
RewriteCond  %{HTTP_HOST}  ^web.mysite.com$
RewriteRule (.*) http://www.mysite.co.uk/$1 [R=301,L]   

# 301 Redirect 2
RewriteCond %{HTTP_HOST}  ^www.mysite.com$ 
RewriteRule (.*) http://www.mysite.co.uk/$1 [R=301,L]

# 301 Redirect 3
RewriteCond %{HTTP_HOST}  ^mysite.com$
RewriteRule (.*) http://www.mysite.co.uk/$1 [R=301,L]
  

Эквивалентные записи post-SSL .htaccess, которые выдают предупреждения безопасности, приведены ниже. Я полагаю, что дополнительные три строки в каждой записи не имеют отношения к проблеме и были добавлены автоматически по другим причинам.

 # 301 Redirect 1
RewriteCond  %{HTTP_HOST}  ^web.mysite.com$
RewriteCond %{REQUEST_URI} !^/[0-9] .. .cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}.txt(?: Comodo DCV)?$
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/[A-F0-9]{32}.txt(?: Comodo DCV)?$
RewriteRule (.*) https://www.mysite.co.uk/$1 [R=301,L]

# 301 Redirect 2
RewriteCond %{HTTP_HOST}  ^www.mysite.com$ 
RewriteCond %{REQUEST_URI} !^/[0-9] .. .cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}.txt(?: Comodo DCV)?$
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/[A-F0-9]{32}.txt(?: Comodo DCV)?$
RewriteRule (.*) https://www.mysite.co.uk/$1 [R=301,L]

# 301 Redirect 3
RewriteCond %{HTTP_HOST}  ^mysite.com$
RewriteCond %{REQUEST_URI} !^/[0-9] .. .cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}.txt(?: Comodo DCV)?$
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/[A-F0-9]{32}.txt(?: Comodo DCV)?$
RewriteRule (.*) https://www.mysite.co.uk/$1 [R=301,L]
  

Любые указания относительно того, как получить mysite.com или www.mysite.com для перенаправления на https://www.mysite.co.uk предупреждения безопасности браузера были бы приняты с благодарностью.

Комментарии:

1. Перенаправления должны продолжать работать должным образом , пока пользователи запрашивают с использованием протокола http . Поскольку ваш ssl-сертификат, скорее всего, не распространяется на имена хостов mysite.com , web.mysite.com и www.mysite.com вы абсолютно ничего не можете сделать, когда люди сразу отправляют запросы по протоколу https. Причина очевидна.

2. Хитрая часть здесь: большинство браузеров здесь проверяют, запрашивается ли имя хоста cn с использованием лучшего протокола https, и будут использовать это без того, чтобы вы могли что-либо с этим сделать. Единственный подход, который может сработать, — это использовать домены / имена хостов в отдельных системах, чтобы разрешение DNS указывало на разные адреса. Таким образом, автоматическое определение первых имен хостов обнаружит, что http является доступным, и использует его без такого предупреждения безопасности. Но, извините, решения, основанного на единой системе, не существует.