我是Vue的新手,我不知道使用api路由处理404响应的正确方法。
在我的路线中> web.php,我有:
Route::get('/{any}', function(){
return view('app');})->where('any', '.*');
将每个请求路由到一个入口点,然后我通过Vue路由器处理该入口点。
在我的路线中> api.php我有:
Route::get('/', 'HomeController@index')->name('home');
Route::get('/listings/{listing}', 'ListingController@show')->name('listing');
...(more routes)
从我的控制器获取一些数据并返回json响应。
假设我打了https://example.com/notexistingroute
该路由将通过应用条件->where('any', '.*');
然后它将在我的api路由中失败,因此我将捕获该错误,并向用户显示404组件,但是https://example.com/nonexistingroute
将200状态代码返回给浏览器,这对seo不利。
我了解我需要在我的web.php路由或类似的路由中添加一个额外的过滤器,但不确定如何...
答案 0 :(得分:0)
在Laravel中,您可以使用abort
函数返回404错误代码。
abort(404);
您可以在此处找到一些如何处理404状态代码的示例。