Подтвердить что ты не робот

Перенаправление на HTTPS с .htaccess с определенным доменом

В настоящее время у меня есть 2 домена, которые имеют доступ к одной и той же папке на моем сервере: metrikstudios.com и ziced.com.

Я хочу, чтобы пользователи, которые вошли через http://metrikstudios.com, были перенаправлены на https://metrikstudios.com и пользователи, которые вошли через http://ziced.com не перенаправляются на https://ziced.com.

В настоящее время у меня это на моем .htaccess

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Спасибо

4b9b3361

Ответ 1

Вы можете просто добавить еще один RewriteCond, чтобы проверить, является ли хост metrikstudios.com

RewriteCond %{HTTP_HOST} ^metrikstudios\.com [NC]

и он должен выглядеть следующим образом:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^metrikstudios\.com [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

Ответ 2

Принятое решение выше перенаправляет только домен non-www от http до https.

Если вы хотите перенаправить обе версии www и non-www вашего домена на ssl, поместите следующий RewriteCond прямо над вашим http в https правило или перед RewriteCond %{HTTPS} off:

RewriteCond %{HTTP_HOST} ^(www\.)?example.com$ [NC]

Вот полное правило для перенаправления определенного домена на https.

RewriteEngine on

# first we will check the host header
#if it wwwexample.com or example.com
RewriteCond %{HTTP_HOST} ^(www\.)?example.com$ [NC]
# now we will check the https header
# if https is off (Is non-ssl)
RewriteCond %{HTTPS} off
#redirect the requeste to https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

Ответ 3

Учетные записи Linux и cPanel для Linux используют

.htaccess

для обработки перенаправления.

Примечание. Если вам нужно создать файл .htaccess, вы можете использовать свой диспетчер файлов панели управления (Web и Classic/cPanel).

Использование следующего кода в вашем файле .htaccess автоматически перенаправляет посетителей на HTTPS-версию вашего сайта:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
If you have an existing .htaccess file:

Не дублируйте RewriteEngine On. Убедитесь, что строки, начинающиеся с RewriteCond и RewriteRule, немедленно следуют за уже существующим RewriteEngine On.

Windows и Plesk

Учетные записи Windows используют файлы web.config для перенаправления.

Примечание. Если вам нужно создать файл web.config, вы можете использовать файловый менеджер вашей панели управления (Web и Classic/Plesk).

Использование следующего кода в файле web.config автоматически перенаправляет посетителей на HTTPS-версию вашего сайта:

<configuration>
<system.webServer>
<rewrite>
    <rules>
    <rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
    <match url="(.*)" /> 
    <conditions> 
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
    </conditions> 
    <action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
</rule>   
    </rules>
</rewrite>
</system.webServer>
</configuration>

Если у вас есть существующий файл web.config:

Убедитесь, что у вас есть разделы (т.е. открывающие и закрывающие теги) для: system.webServer(который содержит переписывание) переписать (который содержит правила) правила (который содержит одну или несколько разделов правил) Вставьте любой из тех разделов, которые не существуют. Вставьте раздел правил, включая совпадение, условия и действие, внутри раздела правил.   Примечание. Вы вставляете правило (без 's') внутри раздела правил (с 's').

Ответ 4

Иногда вы можете перенаправить только на живой сервер и оставить для него локальные настройки как есть. Например, если на локальном компьютере вы зарегистрировали локальный хост с именем www.mysite.loc и настроили локальный экземпляр проекта на этом хосте.

В этом случае это тоже может помочь:

RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{HTTP_HOST} !.loc$ [NC]
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

где !.loc$ - правило игнорировать перенаправление на https, если хост заканчивается на .loc.