【问题标题】:404 Not Found after updating route in Laravel 6在 Laravel 6 中更新路由后找不到 404
【发布时间】:2020-04-16 16:12:04
【问题描述】:

我是 Laravel 的新手,我已经在我的项目中更新了我的路线。

最初的路线是:

Route::get('/{todo}', 'TodosController@show');

我把它改成了这样:

Route::get('/todos/{todo}', 'TodosController@show');

我已经保存了我的文件,但现在它给出了 404 Not Found 错误。

我创建了一个新的 todo 任务,但 url 重定向到 http://127.0.0.1:8000/16

网址应该重定向到http://127.0.0.1:8000/todos/16

我被卡住了。

有人可以澄清一下我做错了什么吗?解决办法是什么?

【问题讨论】:

  • 尝试运行php artisan route:clear 并重新访问该页面
  • 你在尝试什么网址?
  • @FahdYousri 不工作
  • @PrashantDeshmukh..... 该网址应该重定向到127.0.0.1:8000/todos/16,但它目前正在重定向到127.0.0.1:8000/16
  • @PrashantDeshmukh ..... 这正是我要问的!

标签: laravel routes http-status-code-404 laravel-6


【解决方案1】:

尝试使用 Laravel 的 named-routes

Route::get('/todos/{todo}', 'TodosController@show')->name('todo');

在 Blade 中,你可以使用这条路由

{{route('todo', $todo->id)}}

【讨论】:

  • 这行得通!谢谢你。你能给我解释一下吗?
  • 当然@RemanBala,Laravel 允许您生成/定义特定路线的名称。 name() 允许您这样做。即您可以指定一个名称并仅通过其名称调用它。在调用它时,您可以使用类似{{route('todo', $todo->id)}} 的路由名称,其中todo 是路由名称,$todo->id 是路由所需的参数。您可以在下面找到有关 Laravel 路由的更多详细信息 1.dev.to/kris/all-you-need-to-know-about-route-in-laravel5-d91 2.Laravel 文档:laravel.com/docs/6.x/routing
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-26
  • 2020-09-02
  • 2020-06-14
  • 1970-01-01
  • 2020-10-26
  • 2014-06-25
  • 2022-06-15
相关资源
最近更新 更多