【发布时间】:2016-05-19 07:17:45
【问题描述】:
我的网站上有许多使用自定义分页解决方案的路由,例如/categories/{category}/page/{page?}。我目前将每个控制器设置如下:
public function index($category, $page = null) {
if(!isset($page) || !is_numeric($page) || $page < 1) {
return redirect()->route('parent', ['category' => $category]);
}
}
这具有检查提供的页码是否存在、确实是一个数字以及它是否大于零的预期效果。如果其中任何一个条件为假,它就会重定向到父路由/categories/{category}。
问题是,对于这些解决方案中的每一个,它们都要求我写上父路由的名称来进行重定向。如果我只想切断/page/ 及以后,但保留任何 get 变量和 post 变量,我该怎么做?
【问题讨论】:
-
我认为最好的办法是创建另一条路线,例如
/categories/{category}。 -
@noodles_ftw 我已经这样做了,这就是我目前正在这样做的方式。我基本上只是想知道是否有办法在处理路由之前拦截它们,并在那里进行检查和修改,保留 get 和 post 变量。
标签: laravel url routing laravel-routing laravel-5.2