除了某些前缀外,Laravel如何忽略所有内容?

时间:2016-10-27 15:37:26

标签: angularjs laravel routes

我的角度应用程序在我的laravel路径上运行/

我在/ api下面还有其他所有内容。

我希望能够在角度中启用html5模式并像路由一样维护SPA,但是当我这样做时,laravel会抓住路线。

那么我怎样才能让laravel路由器忽略除api和初始路由之外的所有内容?

使用laravel 5.2

2 个答案:

答案 0 :(得分:1)

我认为你可以做到以下几点:

// Catch any routes except 'api'
Route::any('{all}', 'InitController@index')->where('all','^((?!api).)*?');

答案 1 :(得分:0)

您需要在每个请求上都有一个catch-all路由来呈现索引视图 - 然后让Angular处理路由。请记住,您还需要在Angular app中创建404页面等。

// API routes here

// Catch-all route to point everything to index page
Route::get('{something}', function() {
    return view('index');
});

关于API路由,您需要将它们放在catch-all路由之上,以便它们返回API响应。

角度路由

您使用的是Angular 1还是2?你使用什么角度路由器?例如使用$location的Angular1,您将false作为第二个参数添加到path

$location.path('/some-path/', false);