You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Laravel Blade模板中route方法生成的路由始终使用HTTPS协议

解决方案

以下是几种可实现需求的配置方式,你可以根据自己的场景选择:

方法1:全局强制所有路由生成HTTPS链接(最推荐,适合全站HTTPS的场景)

  • 第一步:修改项目根目录下的.env文件,将APP_URL参数的值替换为你的HTTPS域名,示例如下:
    APP_URL=https://myexamplesite.com
  • 第二步:如果你的站点部署在反向代理、CDN或负载均衡服务之后,需要配置Laravel信任代理,打开app/Http/Middleware/TrustProxies.php,修改$proxies属性为允许所有代理(也可填写你的实际代理IP段):
    protected $proxies = '*';
  • 可选兜底配置:如果要强制所有场景下都生成HTTPS链接,忽略当前访问的协议,可在app/Providers/AppServiceProvider.php的boot方法中添加如下代码:
    use Illuminate\Support\Facades\URL;
    
    public function boot()
    {
        URL::forceScheme('https');
    }
    

修改配置后如果未立即生效,可以执行php artisan config:clear清除配置缓存。

方法2:仅为指定路由配置HTTPS

如果不需要全站强制HTTPS,仅需要个别路由生成HTTPS链接,可以在路由定义时添加https中间件:

Route::post('send-user-email', 'SendUserEmailController@store')->name('send-email')->middleware('https');

方法3:临时生成HTTPS路由链接

你也可以直接替换Blade模板中的辅助函数,使用secure_route代替route,它会直接生成HTTPS协议的路由地址,修改后的表单代码如下:

<form method="POST" action="{{ secure_route('send-email') }}">

内容的提问来源于stack exchange,提问作者user2953989

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 23:09:03