Routes Laravel-路由-区分子域和域
我使用的是Routes Laravel-路由-区分子域和域,routes,laravel-5.4,Routes,Laravel 5.4,我使用的是Laravel5.4。我的路由定义如下,并使用自定义的中间件 web.php 处境 如果我键入paris.example.com我将被重定向到HomeController@home 如果我键入newyork.example.com我将被重定向到HomeController@home 如果我键入example.com我也将被重定向到HomeController@home 问题 考虑到我的路线定义,这正常吗 如何根据存在的子域 例子 如果我键入example.com我希望被重定向到view
Laravel5.4
。我的路由定义如下,并使用自定义的中间件
web.php
处境
如果我键入paris.example.com
我将被重定向到HomeController@home
如果我键入newyork.example.com
我将被重定向到HomeController@home
如果我键入example.com
我也将被重定向到HomeController@home
问题
考虑到我的路线定义,这正常吗
如何根据存在的子域
例子
如果我键入example.com
我希望被重定向到view('Select Your Cities')
否则我希望被重定向到home
web.php
Route::get('/','HomeController@home');代码>
HomeController.php
Route::group(['middleware' => 'validCity'], function () {
Route::get('/', 'HomeController@home')->name('home');
});
public function home(Request $request)
{
$url_array = explode('.', parse_url($request->url(), PHP_URL_HOST));
$subdomain = $url_array[0];
$subdomain = strtolower($subdomain);
$subdomain = str_replace(' ', '', $subdomain);
$city = City::where(DB::raw('lower(replace(name, \' \', \'\'))'),'LIKE', $subdomain)->get();
if($city->isEmpty()) {
return view('empty');
}
return view('app');
}