我想删除URL的一部分以使laravel应用程序中的URL更短。
这是我的路线定义:
Route::get('/category/{slug}','CourseController@courseCategory');
Route::get('/course/{slug}','CourseController@detail');
示例我有客户服务和睡眠护理类别。还有一门名为“睡眠护理lvl 1”的课程,因此我可以通过以下链接访问这些类别和课程:
[我想知道如何通过删除URL中的类别和课程来使URL变短,从而使URL变为:
非常感谢!
最后,路由只是字符串。
实现您想要做的最简单的方法是通过更新路线
Route::get('/category/{slug}','CourseController@courseCategory');
Route::get('/course/{slug}','CourseController@detail');
将成为
Route::get('my-short-route','CourseController@courseCategory');
Route::get('my-other-short-route','CourseController@detail');
但是,这不能解决您的问题,也不是一个好的解决方案,
但确实是一个兴趣点。
如果不重构整个应用程序,您将无法做的事情。没有.htaccess可以帮助您解决此问题,因为您需要在应用程序中拥有一个入口点。
该入口点不能是通配符变量。
意味着您将无法执行此操作
Route::get('{slug}','CourseController@courseCategory');
因为这将起到全部作用
您可以做类似的事情
将在courseCategory
上触发CourseController
方法的人>
这是正确的约定,我不会更改它