web-dev-qa-db-ja.com

Lumenをインストールして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
14
robertsan

とった! ....

解決策は、28行目でpublic/index.phpを変更することです。

$app->run();

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

なぜだかわかりません、多分ご存知でしょう。

64
robertsan

この問題は、

$app->run();

/public/index.phpに

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

今日も同じ問題がありました。

私は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を再起動しました。

次に、hostsファイル(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 を使用してもう一度試しましたが、エラーは発生しませんでした。

2
José Maria

おそらく.htaccessファイルが削除されたか、何らかの理由でpublicフォルダーから欠落しています。これがないと、書き換えURLは機能しません。

これを確認してください: https://github.com/laravel/Lumen/blob/master/public/.htaccess

0
llioor