Слишком много перенаправлений выдают [цикл перенаправления] после изменения перенаправления htaccess на https в SocialEngine 4.2.9 - PullRequest
0 голосов
/ 12 июня 2018

Недавно я установил сертификат ssl для нашего домена.И как часть безопасного перенаправления https, изменил htaccess для перенаправления на https.Он отлично работает с домашней страницей.Но когда я вхожу в систему как пользователь или как администратор, перенаправление завершается неудачно, и появляется сообщение о слишком большом количестве перенаправлений и загрузке страницы из-за переадресации цикла между HTTPS и HTTP.Пожалуйста, помогите мне решить эту проблему.

Найдите текущий файл htaccess, который я использую

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On

  RewriteCond %{SERVER_PORT} 80
  RewriteRule ^(.*)$ https://www.flatparty.com/$1 [R,L]

  RewriteRule ^(blog)($|/) - [L]

  # Get rid of index.php
  RewriteCond %{REQUEST_URI} /index\.php
  RewriteRule (.*) index.php?rewrite=2 [L,QSA]

  # Rewrite all directory-looking urls
  RewriteCond %{REQUEST_URI} /$
  RewriteRule (.*) index.php?rewrite=1 [L,QSA]

  # Try to route missing files
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} public\/ [OR]
  RewriteCond %{REQUEST_FILENAME} \.(jpg|gif|png|ico|flv|htm|html|php|css|js)$
  RewriteRule . - [L]

  # If the file doesn't exist, rewrite to index
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?rewrite=1 [L,QSA]

</IfModule>

Когда я получаю доступ к https://www.flatparty.com, он работает нормально.Но после входа в систему возникает проблема с перенаправлением.

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Наконец-то я получил решение проблемы !!Это была не проблема с содержимым .htaccess, а проблема с кодом сервера.Причиной проблемы с циклом перенаправления стал следующий код.

$host = $_SERVER['HTTP_HOST'];
$request_uri = $_SERVER['REQUEST_URI'];
$good_url = "http://" . $host . $request_uri;

header("HTTP/1.1 301 Moved Permanently");
header("Location: $good_url");

Код .htaccess работает нормально, и всякий раз, когда htaccess перенаправляет URL-адрес на https, а указанный выше код перенаправляется на http, и в конечном итоге это приводит кбесконечный цикл и запрос никогда не завершится.

Спасибо за помощь и предложения.

0 голосов
/ 12 июня 2018

Добавьте приведенный ниже код в файл htaccess.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
...