猿问

Laravel 5 - 重定向到HTTPS

Laravel 5 - 重定向到HTTPS

正在处理我的第一个Laravel 5项目,并且不确定在我的应用程序中强制使用HTTPS的逻辑位置或方式。这里的关键是有许多域指向应用程序,只有三分之二使用SSL(第三个是后备域,长篇故事)。所以我想在我的应用程序逻辑而不是.htaccess中处理这个问题。

在Laravel 4.2中,我使用此代码完成了重定向,位于filters.php

App::before(function($request){
    if( ! Request::secure())
    {
        return Redirect::secure(Request::path());
    }});

我认为中间件应该在这样的地方实现,但我不能完全理解这一点。

谢谢!

UPDATE

如果您像我一样使用Cloudflare,可以通过在控制面板中添加新的页面规则来实现。


一只名叫tom的猫
浏览 2755回答 3
3回答

Cats萌萌

另一个适合我的选项,在AppServiceProvider中将此代码放在boot方法中:\URL::forceScheme('https');在forceScheme('https')之前写的函数是错误的,它的forceScheme

Qyouu

或者,如果您使用的是Apache,则可以使用.htaccessfile强制您的URL使用https前缀。在Laravel 5.4上,我在我的.htaccess文件中添加了以下行,它对我有用。RewriteEngine OnRewriteCond %{HTTPS} !onRewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
随时随地看视频慕课网APP
我要回答