【问题标题】:Laravel handle routes in case of subdomain and main domainLaravel 在子域和主域的情况下处理路由
【发布时间】:2021-05-03 18:19:22
【问题描述】:

我正在使用 Laravel 路由子域来处理所有子域。它适用于子域,但是当我为主域路由自定义路由时,我认为这是因为路由名称对于子域和主域都是固定的,那么处理这个问题的正确方法是什么?

这是目前我的路线文件中的内容;

Route::domain('{company}.' . config('app.url'))->group(function () {
    include "allRoutes.php";
});

Route::domain(config('app.url'))->group(function() { 
    include "allRoutes.php";
});

[在此处输入图片描述][1]

这里是 allRoutes.php 文件的一部分内容 [1]:https://i.stack.imgur.com/Bzm0F.png

【问题讨论】:

  • 查看 allRoutes.php 文件的内容会很有帮助。此外,您在两个域中都包含相同的文件,这是正确的吗?
  • 好的,我添加了 allRoute.php 文件的内容

标签: laravel subdomain wildcard


【解决方案1】:

从您的问题来看,您在引用路线时似乎遇到了麻烦,因为它们使用相同的名称。

您应该为您的域路由提供一个名称,该名称可以有效地命名命名。

Route::domain('{company}.' . config('app.url'))->name('sub.')->group(function () {
    Route::get('/', 'HomeController@index')->name('home');
});

Route::domain(config('app.url'))->name('main.')->group(function() { 
    Route::get('/', 'HomeController@index')->name('home');
});

以后在引用这些时你就可以使用了

route('sub.home', ['company']) 用于子域路由,
route('main.home') 用于主域

【讨论】:

  • 好的,兄弟,谢谢你的回答,但我的应用程序中有很多路由,对于这个例子,我认为的实际路由是 route('main.routeName') 我的问题是如何我在使用子域时使其动态添加名称('sub.')到所有视图,反之亦然
  • 我可以在子域和主域中使用动态路由名称的相同路由吗?
  • 你正在尝试做的事情我真的不相信如果没有真正制作一些辅助功能是可能的。将主 url 放在子域上,这样所有共享相同路由的位都使用子域不是更有意义吗?别忘了www。是一个子域 - 所以这可能是一种解决方法
猜你喜欢
  • 2018-03-01
  • 2019-12-23
  • 1970-01-01
  • 2017-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-04
  • 2016-09-18
相关资源
最近更新 更多