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

Laravel 10子域名配置失败求助:路由未生效跳转至主域名

解决Laravel 10子域名路由无效问题

1. 修正域名拼接错误

env('APP_URL') 默认包含 http:// 或 https:// 前缀,直接拼接会生成格式错误的域名(比如 {username}.http://yourdomain.com)。建议在 .env 文件中新增一个不带协议的域名变量:

APP_DOMAIN=yourdomain.com

之后路由里改用这个变量拼接子域名。

2. 修正路由组写法

路由组内部必须定义具体的路由规则,不能直接返回字符串,正确写法示例:

Route::domain('{username}.' . env('APP_DOMAIN'))->group(function () {
    Route::get('/', function ($username) {
        return "欢迎访问 {$username} 的子域名";
    });
});

3. 本地开发配置Hosts映射

如果是本地测试,需要修改系统Hosts文件,添加子域名与本地IP的映射:

127.0.0.1 yourdomain.com
127.0.0.1 test.yourdomain.com
  • Windows路径:C:\Windows\System32\drivers\etc\hosts
  • Mac/Linux路径:/etc/hosts

4. 清除路由缓存

若之前生成过路由缓存,执行命令清除:

php artisan route:clear

额外检查点

  • 服务器配置(Nginx/Apache)需支持泛域名解析,以Nginx为例:
server {
    listen 80;
    server_name *.yourdomain.com;
    root /path/to/your/laravel/public;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # 其他Laravel相关配置...
}
  • 执行 php artisan config:clear 清除配置缓存,确保 .env 中的新配置生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:29:52