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

WAMP环境部署Laravel项目跨网络访问非首页路由返回404问题咨询

WAMP部署Laravel异地访问非首页404问题排查解决步骤

1. 修正虚拟主机配置

当前httpd-vhosts.conf的站点根目录指向了www根目录,不符合Laravel部署规范,且开启了MultiViews会和Laravel重写规则冲突,按如下修改配置:

<VirtualHost *:80>
  ServerName localhost
  DocumentRoot "${INSTALL_DIR}/www/laravel/itman/public"
  <Directory "${INSTALL_DIR}/www/laravel/itman/public/">
    Options +Indexes +Includes +FollowSymLinks -MultiViews
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost> 

修改完成后重启WAMP的Apache服务。

2. 调整.htaccess重写根路径

对应虚拟主机根目录修改为Laravel public目录后,将项目public下.htaccess中的RewriteBase配置修改为根路径:

# 替换原有 RewriteBase /laravel/itman/public/
RewriteBase /

如果你不打算修改虚拟主机根目录,仍需通过http://服务器IP/laravel/itman/public路径访问项目,需确认Laravel项目.env文件中APP_URL参数配置为http://你的服务器IP/laravel/itman/public,保证生成的链接路径正确。

3. 验证重写规则是否生效

在项目public目录新建test.php写入测试内容,异地访问http://服务器IP/test.php确认可正常访问;再访问一个不存在的路径如http://服务器IP/xxx:

  • 若返回Laravel框架的404页面,说明重写规则已生效
  • 若返回Apache默认404页面,需确认Apache的rewrite_module已开启(WAMP托盘→Apache→Apache模块,勾选rewrite_module),且虚拟主机配置中AllowOverride All未被其他配置覆盖。

4. 补充排查项

  • 执行php artisan route:clear清除Laravel路由缓存,避免缓存的路由规则异常
  • 确认服务器防火墙未拦截80端口的外部访问请求
  • 清除浏览器缓存后再测试,避免旧的301重定向缓存影响结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:18:03