.htaccess переписывает результаты в www.www - PullRequest
0 голосов
/ 21 июня 2019

То, чего я хочу достичь, должно быть довольно простым:

Перенаправить весь трафик на HTTPS и субдомен www.. И для этого я использовал следующее правило:

# Canonical https/www
<IfModule mod_rewrite.c>
    RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} ([^.]+)\.domain.com [NC]
    #RewriteCond %{HTTP_HOST} !^www\. [NC]
    #RewriteCond %{HTTP_HOST} ^(.*)$  [NC]
    RewriteRule ^(.*) https://www.%1/$1 [R=301,L]
</IfModule>

Однако, если я перейду по такой ссылке:

http://www.example.com

Я в конечном итоге здесь:

https://www.www.example.com

Итак, я нашел этот вопрос: .htaccess: http://www перенаправляет на www.www

И я полностью заменил правило, которое использовал выше, на правило, предложенное в принятом ответе:

RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$
RewriteRule ^(.*)$ https://www.%1%{REQUEST_URI} [R=301,L]

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

Может кто-нибудь помочь мне здесь?

1 Ответ

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

Проверьте это переписать в вашем файле .htaccess, может быть, это поможет

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