Php 拉威尔动态路由器
我正在建立一个网站的网页都是动态的,布局是相同的,但与不同的内容块。我想让它搜索引擎优化友好的地方,每个网页的url组成的任何类别,然后一个网页名称。i、 e.home.com/cat1/sub-ca2/sub-cat3/page-name 路由器必须从url获取slug,并返回一个包含适当产品数据的视图来填充该视图 我在互联网上徒劳地搜索,试图找到有关如何制作路由器的说明。有谁能解释一下如何做到这一点Php 拉威尔动态路由器,php,laravel,laravel-5,laravel-5.4,Php,Laravel,Laravel 5,Laravel 5.4,我正在建立一个网站的网页都是动态的,布局是相同的,但与不同的内容块。我想让它搜索引擎优化友好的地方,每个网页的url组成的任何类别,然后一个网页名称。i、 e.home.com/cat1/sub-ca2/sub-cat3/page-name 路由器必须从url获取slug,并返回一个包含适当产品数据的视图来填充该视图 我在互联网上徒劳地搜索,试图找到有关如何制作路由器的说明。有谁能解释一下如何做到这一点 提前感谢堆,感谢令人敬畏的Laravel团队,Laravel是最好的 如果所有您的URL都遵
提前感谢堆,感谢令人敬畏的Laravel团队,Laravel是最好的 如果所有您的URL都遵循相同的结构home.com/cat1/sub-ca2/sub-cat3/page name,这在Laravel中非常简单:
Route::get('{cat1}/{cat2}/{cat3}/{name}', function($cat1, $cat2, $cat3, $name) {
return view($cat1 . '.' . $cat2 . '.' . $cat3 . '.' . $name);
});
如果不是所有页面都遵循URL中有4个参数的结构,那么就没有一个很好的解决方案。为了路由,您需要某种URL结构的可预测性,以便知道在什么地方有什么参数
您还可以将其卸载到控制器方法中,如Laravel路由文档中所述
路由器
Route::get(‘{cat1}/{cat2}/{cat3?}/{cat4?}’, ‘SomeController@index’);
public function index(Request $request, $cat1, $cat2, $cat3, $cat4) {
// logic here
}
控制器
Route::get(‘{cat1}/{cat2}/{cat3?}/{cat4?}’, ‘SomeController@index’);
public function index(Request $request, $cat1, $cat2, $cat3, $cat4) {
// logic here
}
感谢Rob,每个页面的分类数量会有所不同,一个可以是site.com/digital-signage/outdoor/outdoor-digital-signage-page,也可以是site.com/digital-signage/digital-signage-page。是否有一个动态的段塞数?该文档中的方法适用于有限数量的slug。您可以选择其中一些slug,但您仍然必须知道位置在逻辑上意味着什么。你最好把它传给一个控制器,然后实现你需要的逻辑。谢谢rob,我怎么能把整个过程传给控制器呢?我大概可以从那里得出逻辑?你能将“/*通配符*/转发给控制器吗?我编辑了我的答案,以显示控制器执行此操作的方式。听起来至少需要2个参数,所以我在回答中选择了cat3和cat4