首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在laravel中检查某些路由的域名?

问如何在laravel中检查某些路由的域名?
EN

Stack Overflow用户
提问于 2018-01-07 18:33:35
回答 2查看 4.3K关注 0票数 2

我需要检查一些路线的域名。然后在检查之后,我需要将域名https://two.com重定向到在laravel中带有middleware的https://one.com。

例如:

路由:

代码语言:javascript
复制
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。

我需要和中间件核对一下。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-07 18:40:47

您可以在中间件中执行以下操作:

代码语言:javascript
复制
if (request()->getHttpHost() === 'two.com' && in_array(request()->path(), ['aboutUs', 'privacy'])) {
    return redirect('https://one.com/' . request()->path());
}
票数 3
EN

Stack Overflow用户

发布于 2018-01-07 18:38:51

您可以使用segment()帮助程序检查url段,如下所示:

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48136290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档