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

如何在Apache2上通过IP地址部署访问Laravel 8项目?

问题根因

你当前是将Laravel项目通过Alias挂载在IP的/api子路径下运行,Apache的重写规则默认基于请求根路径匹配,Laravel自带的默认重写规则没有适配子路径场景,会把非根路由的请求导向根路径下的index.php而非/api下的对应入口,因此只有根路由可以正常访问,其余路由全部失效。

修复步骤

  • 第一步:调整virtualhost.conf配置,将Alias规则移入VirtualHost标签内保证作用域正确,同时补充子路径对应的重写基路径配置,修改后的完整配置如下:
<VirtualHost *:80>
    Alias /api /var/www/api/public
    <Directory /var/www/api/public>
        Options Indexes FollowSymLinks
        RewriteEngine On
        # 新增重写基路径适配/api子路径
        RewriteBase /api/
        AllowOverride All
        Order Deny,Allow
        Require all granted
    </Directory>
</VirtualHost>
  • 第二步:如果完成第一步配置重启后仍未生效,修改Laravel项目public目录下的.htaccess文件,将默认的重写规则指向子路径入口:
    找到规则行RewriteRule ^ index.php [L],替换为:
    RewriteRule ^ /api/index.php [L]
    
  • 第三步:修改Laravel项目根目录下的.env配置,修正项目根地址:
    APP_URL=http://你的服务器实际IP/api
    
  • 第四步:重启Apache服务让配置生效,对应系统命令如下:
    • Debian/Ubuntu系统:systemctl restart apache2
    • CentOS/RHEL系统:systemctl restart httpd

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:15:07