Перенаправление https для каждого URL не работает - PullRequest
0 голосов
/ 11 мая 2018

У меня возникла проблема после того, как я успешно перенес свой веб-сайт с сервера на другой (это всегда один и тот же URL). В основном у меня есть форумы, созданные с помощью xenforo, с которыми можно связаться по адресу https://forums.mywebsite.com.

Конечно, вы можете войти в свою учетную запись и сохранить имя пользователя / пароль в браузере, если это необходимо. Проблема заключается в следующем:

  • С https://forums.mywebsite.com вы все еще зарегистрированы
  • С http://forums.mywebsite.com вы должны входить каждый раз
  • С помощью www.forums.mywebsite.com вы должны входить в систему каждый раз

Я предполагаю, что есть проблема с файлами cookie, потому что файлы cookie для https работают, а другие нет. Моя идея состояла в том, чтобы перенаправить каждый URL-адрес в URL-адрес https; так:

Мне действительно нужно это, и говорить пользователям, что нужно использовать только https, не очень хорошее решение, потому что всегда найдется кто-то, кто использует http или www. Моя идея была такой:

RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) https://www.forums.mywebsite.com%{REQUEST_URI} [R=301,L]

В любом случае, когда я набираю www.forums.mywebsite.com, я все еще не получаю перенаправление на https://forums.mywebsite.com. Должен ли я изменить какой-либо конфигурационный файл?


Я редактирую этот .htaccess, который можно найти в корне системы, как вы можете видеть здесь (взято из WinSCP).

enter image description here

1 Ответ

0 голосов
/ 28 мая 2019

На моей плате Xenforo мне требуется то же самое, перенаправить все на https://example.com без www.

Это то, что я использую:

#Redirect www and http
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Никогда не было проблемс этим вот так.

...