htaccess не перенаправляет на https - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь создать файл htaccess в корневом каталоге, который также повлияет на каталоги поддоменов (поддомен работает из каталога в корневом каталоге).

Во-первых, будет ли это работать, если у меня есть один htaccessфайл в корне?(это будет работать для поддоменов в браузерах (так как они на самом деле просто каталоги от root?)).

Проблема, с которой я сталкиваюсь, заключается в том, что, когда я пытаюсь посетить http://demo.example.com, вместо негоперенаправляя на https://demo.example.com, он просто использует http: //.Это также имеет место при попытке просмотреть http://www.example.com (он не перенаправляет на https).

Это весь мой файл htaccess в его текущем состоянии.Это кажется мне раздутым.Есть ли способ, которым я могу просто перенаправить все на https, независимо от субдомена / root?

<IfModule mod_rewrite.c>
RewriteEngine On

# redirect subdomain to https
RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.example\.com$ [NC]
RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(example\.com)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L,NE]
</IfModule>

1 Ответ

0 голосов
/ 26 ноября 2018

Можете ли вы попробовать эти правила в корне своего сайта .htaccess:

RewriteEngine On

# add www and https to main domain
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(example\.com)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L,NE]

# redirect everything to https
RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

Протестируйте его в новом браузере или полностью очистите кеш браузера перед тестированием.

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