gpt4 book ai didi

laravel-4 - Laravel 将所有请求重定向到 HTTPS

转载 作者:行者123 更新时间:2023-12-02 14:41:36 24 4
gpt4 key购买 nike

我们的整个网站将通过 https 提供服务。我的每条路线都有“https”。但是,如果他们尝试通过 http 进行访问,我该如何将他们重定向到 https?

Route::group(array('https'), function()
{
// all of our routes
}

最佳答案

使用 App::之前

您也许可以利用 app/filters.php 文件中的 App::before() block 。

更改 block 以包含一个简单的检查,以查看当前请求是否安全,如果不安全,则重定向它。

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());
}

});

然后,您可以像这样对任何路由、路由组或 Controller 强制执行该新过滤器。

个人路线

Route::get('something', ['before' => 'force.ssl'], function()
{
return "This will be forced SSL";
});

路由组

Route::group(['before' => 'force.ssl'], function()
{
// Routes here.
});

Controller

您需要在 Controller 的 __construct() 方法中执行此操作。

public function __construct()
{
$this->beforeFilter('force.ssl');
}

关于laravel-4 - Laravel 将所有请求重定向到 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19967788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com