2016-02-06 3 views
0

У меня есть 3 домена и один хостинг. Я пытаюсь использовать один и тот же хостинг для всех моих трех доменов через htaccess. Итак, я создал субдомены с этим именем в моем домене, связанном с хостингом, который выглядит примерно так.Перенаправление защищенного домена на защищенный субдомен с использованием htaccess

www.site1.com [Главный домен, связанный с хостингом]

site2.site1.com [субдомен для www.site2.com]

site3.site1.com [субдомен для www.site3.com]

То, что я хочу, чтобы достичь является, пользователь не должен идти на подобласти site2.site1.com, вместо этого они смогут перейти только на www.site2.com и запрос будет отправлен на адрес site2.site1.com на бэкэнд.

До сих пор все сделано и хорошо работает. Единственная проблема возникает после этого, когда я добавляю SSL на сайт. У меня есть SSL для всех этих доменов и поддоменов. Если пользователь посещает не-ssl, то он должен быть перенаправлен на SSL. Некоторые из SSL работают хорошо, но когда я добавляю SSL для всех из них, я начинаю получать ошибку 500.

Вот мой .htaccess файл

RewriteEngine On 
DirectoryIndex index.php 

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

RewriteCond %{HTTP_HOST} ^site2.com 
RewriteRule ^(.*) https://site2.site1.com/$1 [P] 
RewriteCond %{HTTP_HOST} ^www.site2.com 
RewriteRule ^(.*) https://site2.site1.com/$1 [P] 

RewriteCond %{HTTP_HOST} ^site3.com 
RewriteRule ^(.*) https://site3.site1.com/$1 [P] 
RewriteCond %{HTTP_HOST} ^www.site3.com 
RewriteRule ^(.*) https://site3.site1.com/$1 [P] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

Как добавить https на Перенаправление ссылки, так что начать давать мне 500 ошибки тогда, когда я делаю перенаправление на http тогда она не будет загружать мою страницу, так как небезопасный сайт http://site2.site1.com будет загружен через защищенный https://www.site2.com, и в результате ничего не будет показано.

Здесь мне нужна помощь для решения этой проблемы. Я просмотрел разные вопросы, но не нашел для меня никакого вопроса, потому что мне нужно сохранить мой .htaccess, работающий с перенаправлением, и SSL. Кроме того, мне также нужно перенаправить на www, если он не добавлен в URL.

Любая помощь будет оценена по достоинству.

ответ

0

Как и все, что я испытал здесь, я сам решил свою проблему. Решение о моей проблеме была следующая htaccess

RewriteEngine On 
DirectoryIndex index.php 

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

RewriteCond %{HTTP_HOST} ^site2.com 
RewriteRule ^(.*) site2/$1 
RewriteCond %{HTTP_HOST} ^www.site2.com 
RewriteRule ^(.*) site2/$1 

RewriteCond %{HTTP_HOST} ^site3.com 
RewriteRule ^(.*) site3/$1 
RewriteCond %{HTTP_HOST} ^www.site3.com 
RewriteRule ^(.*) site3/$1 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

Таким образом, вместо того, указывая URL для subdomain имея https у меня есть ссылка, что в каталог, а не потому, что путь будет таким же для этого, и теперь, когда я войти в URL с https страница открывается и не допускает ошибок.

Смежные вопросы