robertsan
robertsan

Reputation: 1621

Just installed Lumen and got NotFoundHttpException

I'm searching for a solution ... it's getting so frustrating. After a fresh installation of Lumen by Laravel, I simply can't access the "/" route. When I try to, it throws an error:

NotFoundHttpException in RoutesRequests.php line 443:

in RoutesRequests.php line 443
at Application->handleDispatcherResponse(array('0')) in RoutesRequests.php line 380
at Application->Laravel\Lumen\Concerns\{closure}() in RoutesRequests.php line 629
at Application->sendThroughPipeline(array(), object(Closure)) in RoutesRequests.php line 382
at Application->dispatch(null) in RoutesRequests.php line 327
at Application->run() in index.php line 28

Upvotes: 15

Views: 17354

Answers (4)

theQuizProject
theQuizProject

Reputation: 59

The problem can be solved by changing the

    $app->run();

in /public/index.php to

    $request = Illuminate\Http\Request::capture();
    $app->run($request); 

Upvotes: 3

llioor
llioor

Reputation: 6238

Probably the .htaccess file was deleted or somehow missing from public folder. Without it the rewrite URL will not work.

Check this: https://github.com/laravel/lumen/blob/master/public/.htaccess

Upvotes: 0

José Maria
José Maria

Reputation: 149

I had the same problem today.

I was accessing it using the url http://localhost/lumen.api/public/ and I think that was the cause of the error.

To get around it, this is what I did:

First I configured a new VirtualHost entry on Xampp, located in "C:\xampp\apache\conf\extra\httpd-vhosts.conf" in my case:

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/lumen.api/public"
    ServerName lumen.api
    ServerAlias www.lumen.api
    ErrorLog "logs/lumen.api-error.log"
    CustomLog "logs/lumen.api-access.log" common
    <Directory "C:/xampp/htdocs/lumen.api/public">
        AllowOverride All
        Require all Granted
    </Directory>
</VirtualHost>

and restarted Apache on Xampp.

Then I edited my hosts file (c:\windows\system32\drivers\etc\hosts) to map a new address to my localhost.

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost   
    127.0.0.1       lumen.api

I tried again using the new URL http://lumen.api and the error was gone.

Upvotes: 3

robertsan
robertsan

Reputation: 1621

Got it! ....

The solution is to change in public/index.php at line 28:

$app->run();

to

$app->run($app->make('request'));

No clue why, maybe you know.

Upvotes: 67

Related Questions