Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 07.06.2018 14:13:31

Https множественный редирект

Доброго всем времечка, разрабатываю сайт с laravel 5.5. В определенный момент возникла задача перехода с http на https.
В AppServiceProvider прописал $url->forceScheme('https'), по сайту тоже поменял везде на secure_url. В принципе все ок. Но надо сделать редирект с http на https, чтобы небезопасный сайт не индексировался и глаза не мозолил. Пробовал менять в .htaccess редирект такого типа:
RewriteEngine on
RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteRule ^(.*)$ yourdomain()com/$1 [R=301,L]
SetEnvIf X-Forwarded-Proto https HTTPS=on

Но страница сайта выдает ошибку о множественном редиректе.
Пробовал вместо .htaccess создать класс middleware:
class HttpsProtocol
{
  public function isSecure()
  {
    if ($this->isFromTrustedProxy() && Req::$trustedHeaders[self::HEADER_CLIENT_PROTO] && $proto = $this->headers->get(self::$trustedHeaders[self::HEADER_CLIENT_PROTO])) {
      return in_array(strtolower(current(explode(',', $proto))), array('https', 'on', 'ssl', '1'));
    }

    $https = $this->server->get('HTTPS');

    return !empty($https) && 'off' !== strtolower($https);
  }

  public function handle($request, Closure $next)
  {
    \URL::forceScheme('https');
    if (isset($_SERVER['HTTPS']) /*&& $_SERVER['HTTPS'] !== 'off'*/) {
    }
    if (!$request->secure() && env('APP_ENV') === 'production') {
      //return redirect()->secure($request->getRequestUri());
    }

    return $next($request);
  }
}

Все равно ошибка множественного редирект.
Может кто сталкивался - в чем может быть дело?
Заранее благодарен за ответ!)

Не в сети

#2 07.06.2018 22:46:17

Re: Https множественный редирект

На разных хостингах могут сработывать разные настройки хттпс редиректа

У меня что-то такое тоже не работало.
А вот такое отлично сработало.

# https
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Ну и если и это не сработает то в интернетах есть и еще варианты...

Изменено spamarmy (07.06.2018 22:46:32)

Не в сети

Подвал раздела