我需要检查某些路线的域名。然后,经过检查,我需要在laravel中将https://two.com
重定向到https://one.com
并middleware
。
例如:
路线:
Route::get('/', ['as' => 'index', 'uses' => 'IndexController@index']);
Route::get('termsAndCondition', ['as' => 'termsAndCondition', 'uses' => 'IndexController@termsAndCondition']);
Route::get('aboutUs', ['as' => 'aboutUs', 'uses' => 'IndexController@aboutUs']);
Route::get('privacy', ['as' => 'privacy', 'uses' => 'IndexController@privacy']);
我需要检查aboutUs
和privacy
以获取域名。
如果域名为https://two.com/aboutUs
或https://two.com/privacy
重定向到https://one.com/aboutUs
或https://one.com/privacy
。
我需要检查中间件。
感谢。
答案 0 :(得分:1)
您可以使用segment()
帮助程序检查网址细分:
if(Request::segment(1)==='aboutus')
{
return redirect(route('your other route');
}
if(Request::segment(1)==='privacy')
{
return redirect(route('your other route');
}
您可以在中间件中添加该检查,segment()
期望一个整数参数,如果大于1,将检查域名后的第一个通配符。
答案 1 :(得分:1)
你可以在中间件中做这样的事情:
if (request()->getHttpHost() === 'two.com' && in_array(request()->path(), ['aboutUs', 'privacy'])) {
return redirect('https://one.com/' . request()->path());
}