Php Clean Laravel 5.1使用一个RESTful路由安装getting NotFoundHttpException

Php Clean Laravel 5.1使用一个RESTful路由安装getting NotFoundHttpException,php,laravel,laravel-5,Php,Laravel,Laravel 5,我正在使用Laravel 5作为Ionic应用程序的API,它看起来几乎可以工作,但我的测试路线是在Laravel中 Route::group( [ 'prefix' => 'api' ], function () { Route::any( 'user', function () { return 'Hello Anonymous User'; } ); } ); 当我击中 http://localhost:8000/api/user 应该只返

我正在使用Laravel 5作为Ionic应用程序的API,它看起来几乎可以工作,但我的测试路线是在Laravel中

Route::group( [ 'prefix' => 'api' ], function ()
{
    Route::any( 'user', function ()
    {
        return 'Hello Anonymous User';
    } );
} );
当我击中

http://localhost:8000/api/user
应该只返回“Hello Anonymous User”,但由于切换到Homestead而不是使用artisan Service,它现在会抛出以下错误:

Sorry, the page you are looking for could not be found.

NotFoundHttpException in RouteCollection.php line 145:
in RouteCollection.php line 145
at RouteCollection->match(object(Request)) in Router.php line 719
at Router->findRoute(object(Request)) in Router.php line 642
at Router->dispatchToRoute(object(Request)) in Router.php line 618
at Router->dispatch(object(Request)) in Kernel.php line 210
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 141
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in VerifyCsrfToken.php line 43
at VerifyCsrfToken->handle(object(Request), object(Closure)) in VerifyCsrfToken.php line 17
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in ShareErrorsFromSession.php line 55
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in StartSession.php line 61
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 36
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in EncryptCookies.php line 40
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 42
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 101
at Pipeline->then(object(Closure)) in Kernel.php line 111
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 84
at Kernel->handle(object(Request)) in index.php line 53
并且,从使用ngResource的Ionic到API的任何post都会在控制台中作为500错误返回。我发现一个解决方案建议关闭app/http/Kernel.php中的VerifyCsrfToken中间件,方法是:

\App\Http\Middleware\VerifyCsrfToken::class,
但这并没有起作用,也没有改变错误

我可以点击默认的欢迎路线,并使用debugbar查看Laravel5欢迎视图。我也尝试过只使用上面的内部路由表单而不使用组和hit,但它会产生相同的错误

更新

检查路线列表所有路线看起来都正常

php artisan route:list

| GET|HEAD                       | /                 | Closure
| GET|HEAD|POST|PUT|PATCH|DELETE | api/user          | Closure
| GET|HEAD|POST|PUT|PATCH|DELETE | user              | Closure

... with debugbar routes

如果它与artisan serve而不是homestead一起工作,则homestead hosts安装程序可能会将您的请求发送到homestead上的默认项目,而不是您已设置的项目。请确认屏幕上显示了routes文件顶部的dd(“ping”)。否则,您可能会看到错误的应用程序

检查您计算机上的/etc/hosts文件(假设使用OS X或*nix),确保已将192.168.10.10设置为指向someappname.app,并在~/.homestead/homestead.yaml中确保已添加站点:部分

-map: someappname.app
 to: /home/whatever the mapped path to this app is
在~/homestad目录中,键入vagrant provision以确保vagrant接受最新的更改


我认为这应该可以解决您的问题。

看起来是正确的,您是否尝试在没有团队参与的情况下查看它是否有效?可能是htaccessHi@DavidNguyen的问题,我刚刚尝试从组中拉出内部用户路由并点击,但我得到了完全相同的错误。Hi@DavidNguyen,如果有帮助的话,我可以点击上的欢迎路由。听起来像是htaccess问题,你在使用apache吗?或者别的什么。你确定欢迎路线在同一个项目中吗?如果在路由文件的顶部放置一个
dd('here')
,您看到了吗?如果我没有弄错的话,默认情况下homestead将是homestad.app/api/user。前提是您已将
192.1168.10.10 homestad.app
添加到操作系统主机文件中。