修改 Laravel 项目默认应用域名需三步协同:1. 修改系统 hosts 文件绑定域名(如 127.0.0.1 myapp.test);2. 配置 Web 服务器虚拟主机,指向项目 public 目录;3. 更新 .env 中 APP_URL=http://myapp.test 并清除配置与路由缓存。

修改 Laravel 项目默认应用域名,核心是让访问请求能正确指向 public 目录,并在浏览器中通过你指定的域名(如 myapp.test)打开,而不是 http://localhost:8000 或 IP 地址。这不是改一个配置就能生效的单点操作,而是需要系统 hosts 绑定、Web 服务器虚拟主机配置、Laravel 自身 URL 设置三者协同。
1. 修改系统 hosts 文件绑定域名
这是本地开发环境必须的第一步,让操作系统把自定义域名解析到本机。
- Windows:用管理员权限打开记事本,打开
C:\Windows\System32\drivers\etc\hosts,末尾新增一行:127.0.0.1 myapp.test - macOS / Linux:终端执行
sudo vim /etc/hosts,按i进入编辑模式,添加:127.0.0.1 myapp.test,然后按Esc→ 输入:wq保存退出 -
注意:必须用
127.0.0.1,不能写localhost;保存后无需重启系统,但部分浏览器可能需清 DNS 缓存(chrome://net-internals/#dns点 Clear host cache)
2. 配置 Web 服务器虚拟主机
让 Apache 或 Nginx 把对 myapp.test 的请求,准确路由到你的 Laravel 项目 public 目录。
-
Apache(如 WAMP / MAMP / Laragon):启用虚拟主机支持,并添加对应配置文件(例如
myapp.test.conf),关键字段包括:ServerName myapp.testDocumentRoot "/path/to/your/project/public"<Directory "/path/to/your/project/public"> AllowOverride All </Directory> -
Nginx(如 LNMP):编辑站点配置(如
/usr/local/nginx/conf/vhost/myapp.test.conf),确保:server_name myapp.test;root /path/to/your/project/public;index index.php;
并确认已启用try_files $uri $uri/ /index.php?$query_string; - 配置完成后,务必重启 Web 服务(如
sudo nginx -s reload或 Laragon 右键 → Apache → Restart)
3. 更新 Laravel 的 APP_URL 和相关设置
避免生成错误链接(比如登录跳转回 localhost)、资源路径 404 或 CSRF token 失效等问题。
- 编辑项目根目录下的
.env文件:APP_URL=http://myapp.test(不加尾部斜杠) - 如果使用 HTTPS 开发(如 Valet 或自签证书),改为:
APP_URL=https://myapp.test - 运行命令清除缓存,使新配置生效:
php artisan config:clearphp artisan cache:clear - 若开启过路由缓存(
php artisan route:cache),记得重新生成:php artisan route:cache
4. 补充:多子域或泛域名场景
如果你计划用 admin.myapp.test、api.myapp.test 等子域,除上述步骤外还需:
- 在
hosts中为每个子域单独添加记录,或使用支持通配符的本地开发工具(如 Laravel Valet) - Web 服务器配置支持泛域名(如 Nginx 的
server_name *.myapp.test;) - Laravel 路由中使用
Route::domain('{sub}.myapp.test')并在控制器中处理$sub参数 - 设置 Cookie 域名为
.myapp.test(在.env中设SESSION_DOMAIN=.myapp.test),确保登录态跨子域共享


















