Question : Comment rediriger toutes les requêtes vers HTTPS dans une application Laravel 5, tout en autorisant des exceptions pour spécifique domaines ?
Réponse :
Pour appliquer la redirection HTTPS, vous pouvez utiliser une classe Middleware. Voici comment :
namespace MyApp\Http\Middleware; use Closure; use Illuminate\Support\Facades\App; class HttpsProtocol { public function handle($request, Closure $next) { // In production environment, redirect non-secure requests if (!$request->secure() && App::environment() === 'production') { return redirect()->secure($request->getRequestUri()); } return $next($request); } }
Application :
Enregistrez le middleware dans le fichier Kernel.php :
protected $middleware = [ ... 'MyApp\Http\Middleware\HttpsProtocol', ];
Configuration Cloudflare :
Si vous utilisez Cloudflare, vous pouvez rencontrer une boucle de redirection. Pour résoudre ce problème :
Ajoutez la ligne suivante à votre middleware :
$request->setTrustedProxies([$request->getClientIp()]);
Dans le panneau de configuration de Cloudflare, créez une nouvelle règle de page :
Laravel v5.3 et versions ultérieures :
Pour Laravel v5.3 et versions ultérieures, incluez simplement le middleware dans le Web groupe :
protected $middlewareGroups = [ 'web' => [ ... 'MyApp\Http\Middleware\HttpsProtocol' ], ];
Autre Remarques :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!