.htaccess - перенаправить на https кроме поддоменов - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь настроить .htaccess для перенаправления всех «http» на «https» - кроме поддоменов (но все еще включают «www» и «stati c ').

Пример: http : //abc.com -> https : //abc.com

http : // www.abc.com -> https : // www.abc.com

http : //static.abc.com -> https : //static.abc.com

http : //hello.abc.com -> http : / /hello.abc.com

http : //hi.abc.com -> http : //hi.abc .com

http : //bye.abc.com -> http : //bye.abc.com (обратите внимание что я создаю случайные субдомены ... таким образом, я не могу исключить определенное количество поддоменов)

Я буквально часами тяну свои волосы по этому вопросу.

1000 спасибо за ваше Помогите!! Дэмиен

1 Ответ

0 голосов
/ 25 марта 2020

Этот .htaccess должен выполнить работу

RewriteEngine On
RewriteCond %{SERVER_PROTOCOL} ^http$
RewriteCond %{HTTP_HOST} ^(www|static)\.
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

Пояснение

RewriteCond %{SERVER_PROTOCOL} ^http$ Условие выполнено, если протокол http (не https)

RewriteCond %{HTTP_HOST} ^(www|static)\. Условие выполняется, если протокол, если субдомен либо www, либо static

Это перенаправит

http://www.example.com -> https://www.example.com
http://www.example.com?param=value -> https://www.example.com?param=value
http://www.example.com/something -> https://www.example.com/something
http://static.example.com -> https://static.example.com
http://static.example.com?param=value -> https://static.example.com?param=value
http://static.example.com/something -> https://static.example.com/something

Но не будет перенаправлять

http://hello.abc.com
http://hi.abc.com
http://foo.abc.com

Демо

...