Несколько доменов на одном хосте https и http

#apache #.htaccess #https

#apache #.htaccess #https

Вопрос:

У меня несколько доменов на одном хосте, мой .htaccess выглядит следующим образом

 RewriteEngine On
RewriteCond %{HTTP_HOST} web1.com$ [NC]
RewriteCond %{REQUEST_URI} !^/web_1/public/.*$
RewriteRule ^(.*)$ /web_1/public/$1 [L]

RewriteCond %{HTTP_HOST}  web2.com$ [NC]
RewriteCond %{REQUEST_URI} !^/web_2/public/.*$
RewriteRule ^(.*)$  /web_2/public/$1 [L]
  

И это работает до сих пор. Теперь я хочу только web1.com, не web2.com для перенаправления на https. Как мне изменить настройки? (Я также благодарен за советы о том, как изменить мою «реализацию» на данный момент, я новичок в .htaccess и готов узнать об этом больше)

Ответ №1:

Попробуйте это :

 RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST}  web2.com$ [NC]
RewriteRule ^(.*)$  https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  

Итак, ваши правила будут выглядеть следующим образом :

 RewriteEngine On
RewriteCond %{HTTP_HOST} web1.com$ [NC]
RewriteCond %{REQUEST_URI} !^/web_1/public/.*$
RewriteRule ^(.*)$ /web_1/public/$1 [L]

RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST}  web2.com$ [NC]
RewriteRule ^(.*)$  https://%{HTTP_HOST}/$1 [L,R=301]

RewriteCond %{HTTP_HOST}  web2.com$ [NC]
RewriteCond %{REQUEST_URI} !^/web_2/public/.*$
RewriteRule ^(.*)$  /web_2/public/$1 [L]