Laravel部署cPanel后API路由404问题求助
Laravel cPanel部署API 404问题排查修复
核心问题
你遇到的API 404,本质是域名根目录没指向Laravel的public文件夹:请求api/userApi时,主机实际找的是根目录下的api文件夹(不存在),而不是public目录里的Laravel路由入口——这就是为什么加public前缀能正常访问的原因。
修复步骤
1. 修改cPanel域名根目录指向
登录cPanel后台:
- 找到「域名管理」或「文件管理器」,把测试域名的文档根目录从默认的
public_html改成public_html/public(如果Laravel项目文件都在public_html下) - 若项目放在
public_html外的独立目录,就指向对应目录下的public文件夹
2. 修正.env配置
把APP_URL改成纯域名,去掉末尾的public:
APP_URL=https://miDominio.com
然后执行缓存清理(通过cPanel终端或SSH):
php artisan config:clear php artisan cache:clear php artisan route:clear
3. 确认.htaccess位置
.htaccess必须放在Laravel的public目录里,不要放在主机根目录(public_html)。如果之前放错位置,直接移到public文件夹下即可。
4. 验证请求
调整完成后,直接访问https://miDominio.com/api/userApi,即可正常返回数据,无需加public前缀。
补充说明
本地环境正常是因为php artisan serve默认把请求导向public目录,但cPanel默认域名指向public_html,这是Laravel部署到cPanel的典型坑,调整根目录指向就能解决大部分这类路径问题。
内容的提问来源于stack exchange,提问作者scorpions77
相关产品推荐
相关产品推荐

