1. 程式人生 > >laravel 強制跳轉 https 解決辦法

laravel 強制跳轉 https 解決辦法

路由要從http redirect 到 https,可以改 nginx/apache 配置。如果不想在web server中做這些修改配置,可以嘗試在laravel框架中解決

在網上裡看到的一個方案是 寫一個 全域性中介軟體,將所有的請求轉換成 https 【利用$request->scure() 來判斷 和 轉化】
不過我發現這個做法在直接訪問首頁的時候並不能實現轉化 (route為 ” / ” 的時候)

然後換了方法:

1.在 app/Providers/AppServiceProvider.php 的 boot()方法 中 新增
  URL::forceScheme('https');


2.在路由檔案web.php中 新增

/****  以下兩次跳轉是為了實現所有請求跳轉到https  start******/
Route::get('/', function () {
    return redirect('/login');
});

Route::get('/login', function(){
    return redirect('/static/#/login');
});
/****  兩次跳轉是為了實現所有請求跳轉到https end ******/

關鍵是將對首頁的訪問 重定向到一個新的laravel路由,這樣它就會走 forceScheme 的流程,之後的所有請求都是https了

solved~!