【问题标题】:404 Not Found, what is wrong on Route and Controller404 Not Found,路由和控制器有什么问题
【发布时间】:2021-09-24 16:04:32
【问题描述】:

我试图找出问题所在,但仍未发现我的代码有什么问题。 任何人都可以帮助我的代码出了什么问题。

路由(web.php)

Route::get('/pegawai','PegawaiController@index');

PegawaiController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;


class PegawaiController extends Controller
{
    public function index()
    {
        //mengambil data dari table pegawai
        $pegawai = DB::table('pegawai')->get();
 
        // mengirim data pegawai ke view index
        return view('index',['pegawai' =>$pegawai]);

    }
}

我的数据库正在使用 mysql,而另一个程序可以运行,只是因为 404 not Found。 我正在使用 laravel 8.6

我尝试创建新项目并没有问题,但在现有项目上总是404 Not Found

知道为什么会这样吗??

【问题讨论】:

  • 你使用的是哪个版本的 laravel。
  • @PHPGeek 我正在使用 laravel 8.6

标签: php laravel


【解决方案1】:

将路线更改为: Route::get('/pegawai', [PegawaiController::class, 'index']);

并检查htaccess 文件是否存在于公用文件夹中

运行php artisan cache:clear

【讨论】:

    【解决方案2】:

    如果你使用的是最新版本的laravel,那么你应该在路由中使用laravel的路径,比如---

    Route::get('/pegawai',[\App\Http\Controllers\PegawaiController,'index']);
    

    如果显示一些错误,请删除控制器路径中的\。

    希望它对你有用。

    【讨论】:

    • 我正在尝试它不显示错误仅 404 未找到,我正在开发其他应用程序并使用相同的路线没有问题。但只有这样才有麻烦。
    • 我尝试创建新项目它可以工作,但在现有项目上它总是404 Not Found任何想法,会发生什么?
    【解决方案3】:

    我解决了这个案子, 只需在命令提示符php artisan route:cache 上编码,然后我的代码就可以工作了

    【讨论】:

      【解决方案4】:

      你应该在Route::get门面函数的第二个参数中包含命名空间。

      原样

      Route::get('/pegawai','PegawaiController@index');
      

      未来

      Route::get('/pegawai','App\Http\Controllers\PegawaiController@index');
      

      use App\Http\Controllers\PegawaiController;
      Route::get('/pegawai', PegawaiController::class);
      

      【讨论】:

      • Route::get('/pegawai','App\Http\Controllers\PegawaiController@index'); 使用这个不起作用
      • 你点击的网址是什么?
      • @Jayant http://127.0.0.1:8000/pegawai
      • 您是否尝试更改web.php 中的路线,例如Route::get('/', 'controller@index'); 或者必须测试路线是否正在运行Route::get('/pegawai', function() { return 'this is a pegawai page'; });
      • 只需在命令提示符下php artisan route:cache 就可以了
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-04
      • 2015-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-31
      • 1970-01-01
      相关资源
      最近更新 更多