Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Доброго всем времечка, разрабатываю сайт с 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);
}
}
Все равно ошибка множественного редирект.
Может кто сталкивался - в чем может быть дело?
Заранее благодарен за ответ!)
Не в сети
На разных хостингах могут сработывать разные настройки хттпс редиректа
У меня что-то такое тоже не работало.
А вот такое отлично сработало.
# https
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Ну и если и это не сработает то в интернетах есть и еще варианты...
Изменено spamarmy (07.06.2018 22:46:32)
Не в сети
Страницы 1