Laravel 404 Not FoundエラーはURLの{ }の後を変えてみて

Laravel・PHP豆知識・トラブル対策

LaravelでURLに{}を入れている場合にエラーが出たら、{}の場所をチェックしてみましょう。

これで悩んでいたのがウソみたいに、瞬時にエラーが解決できることがあります。

エラーは、次のような形ででます。

Missing required parameters for [Route: ルート名] [URI: post/{text}/edit].

あるいは、【404 Not Found】になることも。

下記のようにRoute設定をしている場合に、このエラーが起こります。

解決するには、どちらかのURLを変更すればOK。

たとえば、44行目のルート設定を、次のようにshow⇒viewに変更します。

これで解決したら万歳!

エラーの原因

どうやら、Laravelは別々のURLを同じものだと判断しているのでは、と思われます。

というのも、{text}の中に入る値を設定していないため、もしかしたらURLが被る可能性もあります。

【/text/{text}/show】

|| 

【/text/user/show】

このような勘違いを招くURLの設定だと、エラーになるようです。

ちなみに、こんなふうにしてもエラーになります。

これは、途中までURLが同じなので、トラブっちゃうのが分かる気がしますよね。

 

他の洗練された解決法もあるかもですが^^;

お急ぎなら、まず上記のURL変更を試してみてください。

コメント

タイトルとURLをコピーしました