使用 App::之前
您也许可以利用App::before()
块在app/filters.php
file.
更改该块以包含一个简单的检查,以查看当前请求是否安全,如果不安全,则重定向它。
App::before(function($request)
{
if( ! Request::secure())
{
return Redirect::secure(Request::path());
}
});
使用过滤器
另一种选择可能是创建一个像这样的过滤器。人们通常也将其存储在app/filters.php
.
Route::filter('force.ssl', function()
{
if( ! Request::secure())
{
return Redirect::secure(Request::path());
}
});
然后,您可以将新的过滤器强制应用于任何路由、路由组或控制器,如下所示。
个人路线
Route::get('something', ['before' => 'force.ssl'], function()
{
return "This will be forced SSL";
});
航线组
Route::group(['before' => 'force.ssl'], function()
{
// Routes here.
});
控制器
您需要在控制器中执行此操作__construct()
method.
public function __construct()
{
$this->beforeFilter('force.ssl');
}