Laravel Herd重命名public为public_html后404,如何配置加载该目录?
解决Laravel Herd适配public_html目录的404问题
1. 指定Herd站点的根目录为public_html
Herd默认以项目的public文件夹作为站点根目录,你需要手动修改这个设置:
- 打开Herd客户端,找到你的Laravel项目站点
- 点击站点右侧的「设置」按钮
- 在「网站根目录」选项中,选择项目内的
public_html文件夹 - 保存设置后重启该站点服务
2. 修正Laravel的public路径全局配置
除了AppServiceProvider的修改,还需要确保框架全局识别public_html路径:
- 打开项目根目录下的
bootstrap/app.php文件,在返回应用实例的代码前添加:
$app->usePublicPath(realpath(__DIR__.'/../public_html'));
3. 手动调整Herd的Nginx配置(可选)
如果上述步骤无效,直接修改Herd生成的Nginx配置:
- 找到Herd的Nginx站点配置目录,Mac系统一般在
~/Library/Application Support/Herd/nginx/sites,Linux在~/.config/herd/nginx/sites - 找到对应项目的
.conf配置文件,将root指令的路径从/你的项目路径/public改为/你的项目路径/public_html - 重启Herd的Nginx服务
4. 清除缓存
- 在Herd客户端顶部点击「清除缓存」按钮,清除Herd的缓存
- 清空浏览器缓存或使用无痕模式访问站点
完成以上操作后,重新访问本地站点即可正常加载。如果仍有问题,检查public_html目录的权限,确保Herd进程拥有读取权限。
内容的提问来源于stack exchange,提问作者Amir Vahedi
相关产品推荐
相关产品推荐

