2017-01-27 8 views
1

Я установил ssl на веб-сайт и вам нужно перенаправить все страницы на https. У меня возникли некоторые проблемы:Перенаправить все URL-адреса на https, кроме припаркованных и поддоменов, с htaccess

1 - У меня есть припаркованный домен example.com, который я бы перенаправил на example.net (основной домен), соответствующий любому URL-адресу, например example.com/image1.jpg example.net/image1.jpg включает ли он www или нет.

2 - Я также хотел бы исключить домен, test.com, который указывает на test.example2.net (так на самом деле субдомен) из https-перенаправления.

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

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

Код ниже отлично подходит для всех URL-адресов example.net.

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

ответ

1

Вы можете использовать следующие правила:

RewriteEngine on 
#exclude test.com 
RewriteCond %{HTTP_HOST} !test\.com [NC] 
#http to https 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(www\.)?.+ [NC] 
RewriteRule^https://%1example.net%{REQUEST_URI} [NE,L,R] 
+0

Благодарим Вас за ответ @starkeen. Есть ли способ не форсировать www, как код, который у меня был выше? – riseagainst

+0

@rise Если вы не хотите www в url.. просто удалите его из пункта назначения. – starkeen

+0

Еще раз спасибо. Я это понимаю. То, что я действительно хотел, так это оставить, так что, если пользователь приходит с www, обслуживает www, если нет, то просто https://example.com – riseagainst