質問: Laravel 5 アプリケーションで例外を許可しながら、すべてのリクエストを HTTPS にリダイレクトするにはどうすればよいですか?特定のドメイン?
回答:
HTTPS リダイレクトを強制するには、ミドルウェア クラスを利用できます。方法は次のとおりです:
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); } }
アプリケーション:
Kernel.php ファイルにミドルウェアを登録します:
protected $middleware = [ ... 'MyApp\Http\Middleware\HttpsProtocol', ];
Cloudflare 構成:
を使用している場合Cloudflare では、リダイレクト ループが発生する可能性があります。これを解決するには:
次の行をミドルウェアに追加します:
$request->setTrustedProxies([$request->getClientIp()]);
Cloudflare のコントロール パネルで、新しいページ ルールを作成します。
Laravel v5.3 以降:
Laravel v5 の場合。 3 以降では、Web にミドルウェアを含めるだけですグループ:
protected $middlewareGroups = [ 'web' => [ ... 'MyApp\Http\Middleware\HttpsProtocol' ], ];
その他の注意:
以上がドメイン例外を含むすべてのLaravel 5リクエストをHTTPSにリダイレクトする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。