我的角度应用程序在我的laravel路径上运行/
我在/ api下面还有其他所有内容。
我希望能够在角度中启用html5模式并像路由一样维护SPA,但是当我这样做时,laravel会抓住路线。
那么我怎样才能让laravel路由器忽略除api和初始路由之外的所有内容?
使用laravel 5.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);