您现在的位置是: 网站首页> PHP> Laravel Laravel

laravel 强制生成https链接

Smile 2020-03-19 PHP Laravel 阅读:1230

简介最近上线一个laravel搭建网站时发现使用了SSL证书,但是网页里面生成的链接却全是http的,并没有生成想象中的https链接,搜索了一下,发现有几种解决办法

1、laravel 的 asset() 方法,默认是生成的是 http,可以传递第二个参数为 true 可生成 https

<link rel="stylesheet" type="text/css" href="{{ asset('index/css/index.css',true) }}" />

2、使用辅助函数url()生成url链接时,也可以添加参数true

url("/detail.html",[],true);

3、上面两个方法都是生成的时候传递参数true生成https链接,但是一个网站那么多链接,一个一个传递肯定不现实

更好的解决办法如下

(1)在项目根目录的.env配置文件添加

IS_HTTPS = true;

(2)在app/Providers/AppServiceProvider.php的boot方法中添加

if(env('IS_HTTPS')) {
    \URL::forceScheme('https');
}

如果是 Laravel 5.3 以下版本,则需要使用:

if(env('IS_HTTPS')) {
    \URL::forceSchema('https');
}

这样使用asset()、url()、route()函数就可以生成https链接了

很赞哦! (0)

文章评论

站点信息