Php Laravel-所有路由链接都以子域为前缀
我在应用程序中将子域用作用户帐户的仪表板。在仪表板的视图中,我包含一个主模板,其中包含导航中指向网站根目录的链接。当我访问子域名时,我注意到导航中的所有链接都根据子域名进行了更改 在我的主模板中,链接是使用助手函数route()生成的。当在我的子域上查看生成的链接时,该链接与所有其他链接一起从domain.com/about更改为sub.domain.com/aboutPhp Laravel-所有路由链接都以子域为前缀,php,laravel,routing,Php,Laravel,Routing,我在应用程序中将子域用作用户帐户的仪表板。在仪表板的视图中,我包含一个主模板,其中包含导航中指向网站根目录的链接。当我访问子域名时,我注意到导航中的所有链接都根据子域名进行了更改 在我的主模板中,链接是使用助手函数route()生成的。当在我的子域上查看生成的链接时,该链接与所有其他链接一起从domain.com/about更改为sub.domain.com/about Route::group(['domain' => 'dashboard.project.app', 'before'
Route::group(['domain' => 'dashboard.project.app', 'before' => 'auth'], function()
{
Route::controller('/', 'DashboardController');
});
Route::get('/', ['as' => 'home', 'uses' => 'HomeController@index']);
Route::resource('products', 'ProductsController');
Route::resource('support', 'SupportController');
因此,访问dashboard.project.app将触发dashboard控制器中的getIndex(),而访问project.app将触发HomeController中的index()
太好了,我们已经走了这么远。现在,我有一个简单的视图,用作模板,其中包含指向子域外部定义的命名资源路由的URL
同样,URL是使用helper函数route()生成的。在由名为DashboardController的视图扩展的模板中,我在导航栏中有一个链接,如:
这将根据需要生成
,但在子域下的视图中显示时会更改为
因此,我希望所需的输出始终是project.app/products,而决不要dashboard.project.app/products,因为访问该链接将导致404,因为我的dashboard Controller中没有getProducts()方法。这是错误的链接
明白我的意思吗?如果命名路由未定义为特定于某个域,则url生成器将使用您当前所在的任何域。如果路由应特定于域,请指定它:
Route::group(['domain' => 'project.app'], function() {
Route::resource('products', 'ProductsController');
Route::resource('support', 'SupportController');
});
现在,即使在您的仪表板上,route('products.index')
也应该为您提供project.app/products