在 Laravel 7 中未找到路线

Not found route in Laravel 7

在 Laravel 7.28 上制作网站。 添加了一个路由到'routes/web.php':

...
    Route::get('/lk', 'LK\IndexController@index')->name('lk');
...

+--------+----------+------------------------+-----------------------------+------------------------------------------------------------------------+------------+
| Domain | Method   | URI                    | Name                        | Action                                                                 | Middleware |
+--------+----------+------------------------+-----------------------------+------------------------------------------------------------------------+------------+
|        | GET|HEAD | /                      | generated::0jR7DUWQf5HIAEoc | Illuminate\Routing\ViewController                                      | web        |
|        | GET|HEAD | home                   | home                        | App\Http\Controllers\HomeController@index                              | web        |
|        |          |                        |                             |                                                                        | auth       |
|        | GET|HEAD | lk                     | lk                          | App\Http\Controllers\LK\IndexController@index                          | web        |
|        | GET|HEAD | login                  | login                       | App\Http\Controllers\Auth\LoginController@showLoginForm                | web        |

控制器在“app\Http\Controllers\LK\IndexController.php”中创建。 它有一个方法:

    public function index()
    {
        return view('lk.index');
    }

已创建启动文件“resources\views\lk\index.blade.php”。 当我尝试沿着 http://127.0.0.1:8000/lk 路线行驶时。我得到一个错误:

The requested resource /lk was not found on this server.

例如,如果我将 'lk' 路由更改为 'account',那么在 'http://127.0.0.1:8000/account' 我会正确获取页面。

而且还不完全清楚为什么 404 错误没有出现在 Laravel 视图中? 请帮忙 issue.Thank.

问题:在public文件夹中创建folder/directory时出现此错误命名为 route slug(此处为 lk)。

为什么 public 文件夹会产生此问题:public 文件夹中的任何对象都可以通过 url(这也是一条路线).

如果你有一个与提到的路径同名的目录(文件夹),它将创建 404 因为 /directory 由于安全原因阻止目录遍历而无法访问但是如果你使用 /directory/<a_file_or_image> 它会显示你请求的对象。

当您有一个与 public 文件夹中的目录同名的路由时,它会被 public 路径覆盖。当你换成其他路由名称时,它工作正常。

解决方法: 更改 public 文件夹名称或更改路由 slug。