【问题标题】:404 Page not found in laravel在 laravel 中找不到 404 页面
【发布时间】:2019-08-19 03:39:23
【问题描述】:

我正在尝试在 laravel 中添加一个新页面。我检查了索引页、控制器,但一直收到 404 错误。

web.php

Route::group(
    ['namespace' => 'Admin', 'prefix' => 'admin', 'as' => 'admin.', 'middleware' => ['role:admin']],
    function () {
Route::group(
        ['middleware' => ['licence-expire']],
        function () {    
Route::resource('curriculum', 'AdminCurriculumController');

控制器

public function index()
{
    $this->curriculum =Curriculum::count();
    return view('admin.curriculum.index', $this->data);
}

【问题讨论】:

  • 您拨打的网址是什么?它与您的具体问题无关,但在index() 函数中,您存储$this->curriculum 但您返回$this->data,这似乎很奇怪。最好是避免将数据存储在控制器的类变量中。换句话说,使用这样的东西。 public function index() { $count = Curriculum::count(); return view('admin.curriculum.index', compact('count')); }
  • 非常感谢您的回复。这是我调用 localhost/admin/curriculum 的 URL,我得到 404

标签: laravel routes


【解决方案1】:

通过使用prefix 组中的所有路由获得admin/ 前缀。然后可以在localhost/admin/curriculum/ 找到curriculum 资源。你可以通过php artisan route:list列出所有可用的路由

如果路由未显示在 php artisan route:list 中,请尝试清除缓存:php artisan route:clear。如果这不起作用,请尝试添加测试 url 以确保清除缓存:

Route::get('/', function () {
    return view('welcome');
});

【讨论】:

  • 非常感谢您的回复。这正是我所做的,但它不起作用。
  • 可以添加php artisan route:list 命令的结果吗? @SimonaBuga
  • 那条路线似乎注册了,这是其他路线的样子
  • | |得到|头|管理/产品 | admin.products.index |应用\Http\Controllers\Admin\AdminProductController@index | web,auth,role:admin,licence-expire,Closure
  • 您是如何配置本地环境的?你用过wamp吗?您可以尝试使用php artisan serve 开始您的项目并重试admin/products 网址吗? @SimonaBuga
【解决方案2】:

试试

php artisan cache:clear

你可能已经缓存了你的路由,所以你不能再添加了,因为 Laravel 现在将基于缓存的文件而不是你正在更新的 web.php 文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 2016-06-22
    • 2016-10-20
    • 2013-06-28
    • 2020-02-22
    • 1970-01-01
    • 2019-05-11
    相关资源
    最近更新 更多