刚刚安装了 Lumen 并得到了 NotFoundHttpException
Just installed Lumen and got NotFoundHttpException
我正在寻找解决方案...它变得如此令人沮丧。
Laravel 全新安装 Lumen 后,我根本无法访问“/”路由。当我尝试时,它抛出一个错误:
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
知道了! ....
解决办法是在public/index.php第28行改成:
$app->run();
至
$app->run($app->make('request'));
不知道为什么,也许你知道。
我今天遇到了同样的问题。
我正在使用 url 访问它
http://localhost/lumen.api/public/ 我认为这是错误的原因。
为了解决这个问题,我是这样做的:
首先,我在 Xampp 上配置了一个新的 VirtualHost 条目,在我的例子中位于 "C:\xampp\apache\conf\extra\httpd-vhosts.conf":
<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>
并在 Xampp 上重新启动了 Apache。
然后我编辑了我的主机文件 (c:\windows\system32\drivers\etc\hosts) 以将新地址映射到我的本地主机。
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 lumen.api
我使用新的 URL http://lumen.api 再次尝试,错误消失了。
问题可以通过更改
来解决
$app->run();
在/public/index.php
到
$request = Illuminate\Http\Request::capture();
$app->run($request);
可能 .htaccess 文件已从 public
文件夹中删除或丢失。没有它,重写 URL 将无法工作。
检查这个:https://github.com/laravel/lumen/blob/master/public/.htaccess
我正在寻找解决方案...它变得如此令人沮丧。 Laravel 全新安装 Lumen 后,我根本无法访问“/”路由。当我尝试时,它抛出一个错误:
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
知道了! ....
解决办法是在public/index.php第28行改成:
$app->run();
至
$app->run($app->make('request'));
不知道为什么,也许你知道。
我今天遇到了同样的问题。
我正在使用 url 访问它 http://localhost/lumen.api/public/ 我认为这是错误的原因。
为了解决这个问题,我是这样做的:
首先,我在 Xampp 上配置了一个新的 VirtualHost 条目,在我的例子中位于 "C:\xampp\apache\conf\extra\httpd-vhosts.conf":
<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>
并在 Xampp 上重新启动了 Apache。
然后我编辑了我的主机文件 (c:\windows\system32\drivers\etc\hosts) 以将新地址映射到我的本地主机。
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 lumen.api
我使用新的 URL http://lumen.api 再次尝试,错误消失了。
问题可以通过更改
来解决 $app->run();
在/public/index.php
到
$request = Illuminate\Http\Request::capture();
$app->run($request);
可能 .htaccess 文件已从 public
文件夹中删除或丢失。没有它,重写 URL 将无法工作。
检查这个:https://github.com/laravel/lumen/blob/master/public/.htaccess