Перенаправление с использованием файла htaccess? - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть веб-сайт, и мне нужны следующие перенаправления:

  • www.example.com> example.com
  • HTTP-запросы, перенаправленные на https

Я написал следующие правила:

#Redirect http://example.com to https://example.com
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^example\.com
    RewriteRule ^(.*)$ https://example.com$1 [R=permanent,L]

#Redirect www to non-www
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www\.example\.com
    RewriteRule ^(.*)$ https://example.com$1 [R=permanent,L]

Правила не работают, и я получаю сообщение об ошибке: домен.com перенаправлял вас слишком много раз.

Кто-нибудь знает, как решить эту проблему? пожалуйста?

Спасибо

Ответы [ 2 ]

1 голос
/ 27 февраля 2020

Кажется, ваше первое правило - виновник, который не проверяет http / https и не перенаправляет на https.

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

RewriteEngine On

#Redirect www to non www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L,NE]

# http to https
RewriteCond %{HTTP:X-Forwarded-SSL} =off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NE,L]
0 голосов
/ 27 февраля 2020

Благодаря помощи Анубхавы я смог получить рабочее решение:

#Redirect http://example.com to https://example.com
    RewriteEngine on
    RewriteCond %{HTTP:X-Forwarded-SSL} =off
    RewriteCond %{HTTP_HOST} ^example\.com
    RewriteRule ^(.*)$ https://example.com$1 [R=permanent,L]

#Redirect www to non www
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www\.example\.com
    RewriteRule ^(.*)$ https://example.com$1 [R=permanent,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...