标题说得很好。。。Laravel如何实现干净的URL并将它们重定向到正确的控制器。
像CakePHP这样的一些框架使用.htaccess将所有内容重定向到FrontController,然后FrontController发送请求,但laravel不使用.htaccess,所以我有点困惑。
Laravel使用了"路由"的概念,其中所有干净的url通常被定义并映射到将解析为视图的东西,例如控制器操作、匿名函数、纯字符串等
每个请求都将被位于以下位置的文件捕获:public/index.php
(由位于同一位置的.htaccess文件完成)。这个index.php文件将对Laravel框架进行boostrap或说明,并且Laravel将运行您的代码。它是如何完成的路由。
路由配置存储在位于app/routes.php
的文件中,其中的路由可能如下所示:
Route::get('/users', 'UserController@showUsers');
Route::get('/users/create', 'UserController@createUser');
Route::post('/users/create', 'UserController@processCreateUser');
Route::get('/users/edit/{id}', 'UserController@createUser');
Route::post('/users/edit/{id}', 'UserController@processCreateUser');
有关路由的更多信息,请参阅文档。我强烈建议你阅读这些文档,因为路由在Laravel中非常强大。
Laravel站点使用public/
文件夹作为其文档根目录。你会在里面找到.htaccess
文件。