【发布时间】:2020-07-01 09:42:39
【问题描述】:
我想在 laravel 应用程序中删除 URL 的一部分以使 url 更短。
这是我的路线定义:
Route::get('/category/{slug}','CourseController@courseCategory');
Route::get('/course/{slug}','CourseController@detail');
例如,我有客户服务和睡眠护理类别。还有一个名为 Sleep care lvl 1 的课程。所以我可以通过这些链接访问类别和课程:
- mydomain.com/category/customer-service
- mydomain.com/category/sleep-care
- mydomain.com/course/sleep-care-lvl-1
我可以知道如何通过删除 URL 中的类别和课程来缩短 URL,然后 URL 将变为:
- mydomain.com/customer-service
- mydomain.com/sleep-care
- mydomain.com/sleep-care-lvl-1
非常感谢!
【问题讨论】:
-
更新你的路由并创建一个可以区分课程和类别的控制器方法
-
有一种方法可以做到这一点,您可以创建一个控制器来处理您的路由并执行类似 switch 语句的操作来处理它应该采取的操作,但老实说不是一个好方法。路线和名称应遵循一致的约定
-
@kerbholz。就像德文格雷说的一样。我们必须处理在课程和类别之间切换。还有其他路线在我的应用程序中具有单一名称,例如联系人和关于页面。他们也是 mydomain/contact , mydomain/about
-
第二,你不应该改变它,它现在的样子已经很完美了
-
/contact 和 /about 不应干扰您的类别/课程路线。首先定义它们,你就可以开始了。但是,如果您有一个名为“联系人”的类别或课程,您会遇到问题。
标签: laravel .htaccess friendly-url