#.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 является доступным, и использует его без такого предупреждения безопасности. Но, извините, решения, основанного на единой системе, не существует.