所以我有一个项目有多个域指向它。现在我想按域和子域分组路由。
例如,我想为example.com和example.com的每个子域
分别设置路由我现在这样做:
$RoutesOnlyForExamp = function() {
Route::get('/', ['as' => 'home', 'uses' => 'TestController@home']);
};
Route::group(['domain' => 'sub1.example.com'], $RoutesOnlyForExamp);
Route::group(['domain' => 'sub2.example.com'], $RoutesOnlyForExamp);
Route::group(['domain' => 'example.com'], $RoutesOnlyForExamp);
home()方法会给我这个:
return view('home')
现在我遇到了一个问题。我在视图中有一些链接,这些链接都会导致
return view('RANDOM_VIEW');
就像home()方法一样。
视图中的链接生成如下:
<a href="{{route('ROUTENAME')}}">LINKNAME</a>
现在让我们说我通过sub1.example.com访问该网站。现在我的一些链接看起来是正确的,如下所示:
<a href="sub1.example.com/slug">Random Link 1</a>
但有些看起来像这样,这是错误的,因为我在sub1.example.com而不是example.com:
<a href="example.com/slug">Random Link 1</a>
我没有看到任何模式何时以及为什么它会占用错误的域名。我的目标是,如果我通过sub1.example.com访问该网站,所有链接都应该使用此而不仅仅是example.com。
我希望问题很清楚。否则我可以更详细地试一试。
我感谢您的帮助,并提前感谢您!
答案 0 :(得分:1)
您可以接受子域名,如
Route::group(['domain' => '{subdomain}.example.com'], $RoutesOnlyForExamp);
并将其作为变量和路径参数提供。
如果要生成指向子域路线的链接,可以执行route('ROUTENAME', [$subdomain])
。
如果按以下方式声明,您的主要网站路线将按预期工作:
Route::group(['domain' => 'example.com'], $RoutesOnlyForExamp);