Laravel route() 方法生成 HTTPS 链接

最近在使用 Laravel 的队列发送邮件,由于邮件中需要附上网站的链接地址,所以使用了 route() 方法来进行渲染。邮件可以正常发出,但是却发现本来是 HTTPS 的链接地址,在邮件中却成为了 HTTP,影响展示效果,于是搜索了一下,找到如下几种解决方法:

1、强制 Laravel 使用 HTTPS

Providers\AppServiceProvider (或者创建其他的 ServiceProvider 并注册) 的 Boot 方法中添加:

\URL::forceScheme('https')

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

\URL::forceSchema('https');

2、定义路由时制定 HTTPS

Route::get('/', ['uses' => 'TestController@index', 'https'])->name('index')