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

Laravel 8中.htaccess配置HTTP转HTTPS失效,请求技术支援

Laravel 8 .htaccess HTTPS重定向失效解决办法

针对你的HTTPS重定向不生效问题,可从以下几个方面排查和修复:

1. 调整.htaccess重定向规则

现有规则在反向代理、负载均衡等架构下可能无法正确识别HTTPS状态,建议修改规则同时兼容直接部署和代理场景:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # 适配直接部署和反向代理环境的HTTPS判断
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    # 处理授权头
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # 移除末尾斜杠(非目录请求)
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # 路由转发到前端控制器
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>
  • 新增%{HTTP:X-Forwarded-Proto}判断,解决代理环境下HTTPS变量失效问题
  • 将临时重定向[R,L]改为永久重定向[R=301,L],符合SEO和浏览器缓存规范

2. 配置Laravel应用强制HTTPS

仅靠.htaccess可能不够,需同步配置应用层面:

  • 修改.env文件:
    APP_URL=https://app.workfromhere.com.my
    
  • 打开config/app.php,确保URL配置正确:
    'url' => env('APP_URL', 'http://localhost'),
    
  • 可选:在app/Providers/AppServiceProvider.php的boot方法中添加代码,确保生成的路由链接均为HTTPS:
    public function boot()
    {
        if (env('APP_ENV') === 'production') {
            \URL::forceScheme('https');
        }
    }
    

3. 清理应用缓存

修改配置后需清理缓存确保生效:

php artisan config:clear
php artisan cache:clear
php artisan route:clear

4. 服务器环境验证

  • 确认Apache已启用mod_rewrite模块,可通过phpinfo()页面查看
  • 确认服务器SSL证书配置正常,HTTPS本身可正常访问

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 01:15:44