Перенаправить каждый домен без www или http на www и https - PullRequest
0 голосов
/ 23 июня 2019

Я хочу перенаправить все домены на www и https.
как:

http://example1.com  
http://example1.com.  
http://www.example1.com  
http://www.example1.com.  
https://example1.com  
https://example1.com.  
https://www.example1.com.  

Кому:
https://www.example1.com

И

http://example2.com  
http://example2.com.  
http://www.example2.com  
http://www.example2.com.  
https://example2.com  
https://example2.com.  
https://www.example2.com.  

Кому:
https://www.example2.com

Это мой код для домена1 в htaccess:

    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} example1\.com [NC]
    RewriteCond %{HTTP_HOST} !^(www\.)?example1\.com$ [NC]
    RewriteRule ^(.*)$ https://www.example1.com/$1 [R=301,L]

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

Я проверяю:
1. если адрес не имеет https И, если содержит example1.com И если не полностью, как www.example1.com или example1.com, ТО перенаправьте на https://www.example.com
2. если адрес имеет https И, если содержит example1.com И если не полностью, как example1.com, ТО перенаправьте на https://www.example.com

Ответы [ 3 ]

0 голосов
/ 23 июня 2019
<IfModule mod_rewrire.c>
RewriteEngine On
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) https://www.example1.com%{REQUEST_URI} [L,R]
</IfModule>

Приведенный выше фрагмент кода должен работать на вас.Попытайся.Если у вас есть какие-либо проблемы, дайте мне знать в комментарии

0 голосов
/ 23 июня 2019

Вы можете использовать:

# domain example1.com
RewriteCond %{HTTP_HOST} example1\.com [NC]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.example1.com%{REQUEST_URI} [L,R=301]

# domain example2.com
RewriteCond %{HTTP_HOST} example2\.com [NC]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.example2.com%{REQUEST_URI} [L,R=301]
0 голосов
/ 23 июня 2019

Сначала замените начало, используя Regex, как это:

(я использовал C #, используйте только регулярные выражения и идею).

Regex.Replace(myString, @"^(https?:\/\/(www\.)?)?");

затем заменить конец:

Regex.Replace(myString, @"\.$");

Например:

Пример здесь

http://example2.com. 

будет заменен первым регулярным выражением на:

https://www.example2.com. 

и после второго регулярного выражения:

http://www.example2.com
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...