我需要什么:我的应用具有公共域只有在远程域为domain1.com
且位于本地环境中时,才应打开管理控制器中的所有路由。
- 目前:**如果我将管理面板路由放在组中,它在本地环境中将不可见,这使得开发变得困难。
// My secret domain, accessible only for admins
Route::group(['domain'=>'domain1.com'],function(){
Route::get('admin-panel', [App\Http\Controllers\Control\AdminController::class, 'admin_panel']);
});
// To be accessible both in domain1.com and domain2.com:
Route::get('homepage', [App\Http\Controllers\Control\PagesController::class, 'homepage']);
溶液
我目前的解决方案:我在路由文件web.php
中添加了额外行
if( \App::environment() == 'local') {
Route::get('admin-panel', [App\Http\Controllers\Control\AdminController::class, 'admin_panel']);
}
但这是一个粗糙的临时解决方案。
待办事项:
- 在路由文件中或在控制器中。控制器中的过滤器(对于所有或选定的方法)是最好的。
if
子句,用于检查环境是本地环境还是域是domain1.com
谢谢你。
1条答案
按热度按时间k3fezbri1#
我认为laravel不支持这样的东西。但是你可以声明一个函数变量的路由,然后在每个域中使用它。