Laravel 将域添加到控制器路由
Laravel add domains to controller routes
我有一个 Laravel 应用程序和一个域来访问它。域指向 public 文件夹并执行 '/' 路由,然后在 controller.Now 中执行某个方法 'BaseController@index' 我想添加另一个域。但是这个域应该执行另一个方法'AppController@run'(路由可以是'/app/run/.
我怎样才能做到这一点?
我为另一个直接指向 public/app/run 的域创建了一个虚拟主机。这有效,但浏览器显示我不喜欢的 domain.com/app/run。
所以我想我要做的就是让这个域指向 public 然后在我的路由文件中说这个域 shell 执行 'AppController@run'
或者在最坏的情况下,它指向“/”路由,然后在 BaseController@index 方法中我必须检查正在访问的域。但这对我来说似乎不太好。
有什么想法吗?我想知道为什么我在 Google 上找不到很多东西,因为这不应该只对我很重要。
首先,所有虚拟主机都应该将文档根目录设置为 public
public 目录,否则 Laravel 将不会 bootstrap 正确。
然后您可以为该域添加特定路由。例如:
Route::group(['domain' => 'seconddomain.com'], function(){
Route::get('/', 'AppController@run');
});
现在如果你去 seconddomain.com
run()
在 AppController
将被调用
Laravel 框架 5.7.2
我想要一个单独的域用于我的 API。
我的解决方案是编辑 Providers/RouteServiceProvider 中的 mapApiRoutes()。php
protected function mapApiRoutes()
{
//This is what we're changing to Route:domain('www.sub.domain.com')
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
}
函数应该如下所示:
protected function mapApiRoutes()
{
Route::domain('www.sub.domain.com')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
}
您还需要根据要完成的任务重新配置 Apache。
希望对您有所帮助。
我有一个 Laravel 应用程序和一个域来访问它。域指向 public 文件夹并执行 '/' 路由,然后在 controller.Now 中执行某个方法 'BaseController@index' 我想添加另一个域。但是这个域应该执行另一个方法'AppController@run'(路由可以是'/app/run/.
我怎样才能做到这一点?
我为另一个直接指向 public/app/run 的域创建了一个虚拟主机。这有效,但浏览器显示我不喜欢的 domain.com/app/run。
所以我想我要做的就是让这个域指向 public 然后在我的路由文件中说这个域 shell 执行 'AppController@run'
或者在最坏的情况下,它指向“/”路由,然后在 BaseController@index 方法中我必须检查正在访问的域。但这对我来说似乎不太好。
有什么想法吗?我想知道为什么我在 Google 上找不到很多东西,因为这不应该只对我很重要。
首先,所有虚拟主机都应该将文档根目录设置为 public
public 目录,否则 Laravel 将不会 bootstrap 正确。
然后您可以为该域添加特定路由。例如:
Route::group(['domain' => 'seconddomain.com'], function(){
Route::get('/', 'AppController@run');
});
现在如果你去 seconddomain.com
run()
在 AppController
将被调用
Laravel 框架 5.7.2
我想要一个单独的域用于我的 API。
我的解决方案是编辑 Providers/RouteServiceProvider 中的 mapApiRoutes()。php
protected function mapApiRoutes()
{
//This is what we're changing to Route:domain('www.sub.domain.com')
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
}
函数应该如下所示:
protected function mapApiRoutes()
{
Route::domain('www.sub.domain.com')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
}
您还需要根据要完成的任务重新配置 Apache。
希望对您有所帮助。