Laravel API路由与Web根目录冲突

时间:2017-09-19 11:12:02

标签: angularjs laravel-5 routing

在我的一个laravel网站中,当我尝试集成angularjs4时,一切正常。但是我面临着与web

中定义的api路由和路由的冲突问题

web.php中的代码如下

Route::get('/{path?}', function () {
    return view('site');
})->where('path', '.*')
  ->name('siteapp');

由于上面的代码将所有内容路由到视图" site",我无法在api.php中添加api请求路由,示例如下所示

链接www.mysite.com/api/user路由到" web.php"应该来自api.php

api.php

中路由
Route::get('user', function (Request $request) {
    return ['name' => 'demo'];
})->middleware('jwt.auth');

是否有任何正则表达式可以跳过以www.mysite.com/api/something

开头的路径

即。来自web.php。跳过路径有什么规则吗?从这一行的api开始"其中('路径','。*')"?

作为简要说明,可以在规则中跳过api开头的路径('路径',' [api]![---允许所有其他字符串 - ]&#39 ;)

请adivice

1 个答案:

答案 0 :(得分:1)

您可以像这样使用regEx:

Route::get('/{path?}', function () {
    return view('site');
})->where('path', '^(?!api).*$')
  ->name('siteapp');