Je commence à développer une nouvelle grande application, et j'utilise Laravel cette fois, et c'est la première fois.
J'ai besoin de forcer HTTPS pour toutes les pages, ce n'est pas important si à partir de code ou par .htaccess, mais je ne suis pas en mesure de trouver un tutoriel simple.
Les documents officiels ne parlent pas de ce problème.
Pour info, mon .htaccess acutal est
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
Ma question est spécifique à Laravel 5, car je ne sais pas où et comment modifier ce fichier .htaccess. Et aussi je vous demande si c'est la bonne façon pour Laravel ou if Laravel a quelque chose de spécifique à configurer pour gérer les HTTP).
Alors ne fermez pas ma question et essayez d'être plus adhérent au sujet spécifique Laravel.
Si vous pouvez publier un moyen simple de modifier ce fichier ET/OU Quoi modifier dans la configuration Laravel pour gérer correctement https.
Mais en bref oui, je veux forcer chaque appel à transiter sur HTTPS.
Vous devez l'ajouter à votre .htaccess
fichier:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://YOURWEBSITEDOMAIN/$1 [R,L]
Voir ceci: http://www.inmotionhosting.com/support/website/ssl/how-to-force-https-using-the-htaccess-file
Essayez d'ajouter ce code dans votre fichier .htaccess.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
Lorsque vous souhaitez rendre toutes les URL avec https. La méthode la plus simple est d'utiliser le code ci-dessous dans la fonction boot () de app/Providers/AppServiceProvider.php:
\ URL :: forceScheme ('https');
Modifiez votre fichier .htaccess
Chage ton dominateur dans:
RewriteCond% {HTTP_Host} mydomain.com [NC]
RewriteRule ^ (. *) $ https: // mondomaine / $ 1 [R, L]
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Added to Force HTTPS
RewriteCond %{HTTP_Host} mydomain\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://mydomain/$1 [R,L]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
Ajoutez ceci à la méthode de démarrage dans AppServiceProvider
if($this->app->environment('production'))
{
$this->app['request']->server->set('HTTPS','on');
}
Cela a fonctionné pour moi
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ public/$1 [L]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_Host}%{REQUEST_URI} !^public [L,R=301]
</IfModule>
Vous pouvez commencer par chercher ici. Il y a des tonnes de questions pour le même problème avec des réponses.
https://stackoverflow.com/a/4399158/5892849
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
Essayez de changer le "APP_URL" dans le fichier .env à partir de
APP_URL = http://example.com
à
APP_URL = https://example.com