laraver 的子路由的使用

最近学习laraver 今天看到子路由的时候很蒙,网上查了一下使用,基本没有找到正确的答案。

// 子域名路由
Route::domain('admin.blog.test')->group(function () {
    Route::get('/', function () {
        dd('处理 http://admin.blog.test 路由');
    });
});

如上设置了子路由,那我要怎么验证使用他呢?不应该是“admin.blog.test”和“lr.com”是一样含义吗?

clipboard.png

按道理输入子路由以后要进入函数执行dd打印,输出“处理 http://admin.blog.test 路由”

clipboard.png

clipboard.png

结果是:

clipboard.png

按道理不应该是输出“处理 http://admin.blog.test 路由”吗?

重设以后

clipboard.png

clipboard.png

clipboard.png

还是不行,越来越含糊了,不知道子域名到底怎么用

阅读 1.4k
2 个回答

访问admin.blog.test

首先,从你上面的配置文件可以看到,admin.blog.test,这个域名你并没有绑定到本地的主机,所以直接访问到了默认主机,也就是出现了你上面的浏览目录的情况。

其次,你的 apx.lr.com 无法访问,因为您本地的 hosts 更新后,你没有重启浏览器,导致浏览器在使用的是你更新前的 hosts ,所以当你请求是,hosts 并没有生效。

所以,当你需要使用子域名路由时,应该进行以下步骤。

  • 解析域名或者设置 hosts 文件绑定(这两项最好都是选择重启一下浏览器,并在命令行执行 ipconfig /flushdns)。
    • 比如你有 app.com 这个域名,现在你添加解析记录。
    *.app.com A记录 记录值 xx.xx.xxx.xx
    现在,访问 xx.app.com 就会访问到 上面你绑定的 IP 地址,当然如果是在 hosts 文件修改, hosts 文件是不支持通配符的 所以你就只有单个添加记录到 127.0.0.1 了,
  • 在你的 apache 配置文件中为主机绑定你解析的域名,当然,你还可以绑定泛解析的域名。

    上面完成后,你需要在 apache 的配置文件中加上
ServerAlias *.app.com

这样,你就可以访问 任意 xx.app.com 来对你的项目进行访问。

整块的核心就是,为你的 apache 指定的项目添加多个主机名(域名),然后在 laravel 的路由中,对指定的域名进行分发业务。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题