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

Laravel项目部署到子目录后出现首页500错误、菜单链接异常问题求助

问题排查与解决步骤

1. 修复index.php路径错误(解决首页500问题)

你当前的index.php路径配置错误,你将public目录的文件移动到了public_html/lrvproject/下,Laravel核心代码(vendor、bootstrap、storage等目录)也存放在该目录下,需要修改三处路径:

// 原错误路径:__DIR__.'/../storage/framework/maintenance.php'
if (file_exists(__DIR__.'/storage/framework/maintenance.php')) {
    require __DIR__.'/storage/framework/maintenance.php';
}

// 原错误路径:__DIR__.'/../lrvproject/vendor/autoload.php'
require __DIR__.'/vendor/autoload.php';

// 原错误路径:__DIR__.'/../lrvproject/bootstrap/app.php'
$app = require_once __DIR__.'/bootstrap/app.php';

路径错误是首页报500的核心原因,修正后即可正常访问首页。

2. 修正.htaccess配置

子目录部署需要指定RewriteBase,在RewriteEngine On下方添加一行配置:

RewriteEngine On
# 新增如下行
RewriteBase /lrvproject/

保证重写规则适配子目录路径。

3. 修复server.php路径配置

取消注释正确的引入路径,删除错误的public路径引入即可:

// 注释或删除该行
// require_once __DIR__.'/public/index.php';
// 取消该行注释
require_once __DIR__.'/index.php';

4. 修正应用根路径配置(解决链接缺失子目录问题)

第一步:修改.env配置文件

找到项目根目录下的.env文件,修改APP_URL参数:

APP_URL=https://www.example.com/lrvproject

第二步:强制指定路由根路径

如果修改APP_URL后链接仍未自动拼接子目录,打开app/Providers/AppServiceProvider.php,在boot方法中添加强制根路径配置:

public function boot()
{
    // 新增如下代码
    $this->app['url']->forceRootUrl(config('app.url'));
    // 原有代码保持不变
}

配置完成后清理Laravel缓存:
php artisan config:clear
如果无法执行命令,直接删除bootstrap/cache/目录下的所有配置缓存文件即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:27:02