Я использую Laravel 6.16 для веб-приложения. У меня есть сертификат SSL, настроенный для домена, и теперь мне нужно заставить все запросы использовать протокол HTTPS.
Файл .htaccess по умолчанию имеет следующее
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Я попытался добавить это выше перенаправления по умолчанию и заменить значение по умолчанию на:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Но это вызывает цикл перенаправления, я считаю, что глухой необходимо для того, чтобы ларвел переписал URL-адреса на "красивые" URL-адреса.