如果适用某些条件,则删除部分Laravel URL

时间:2016-02-09 10:36:00

标签: laravel url routing laravel-routing laravel-5.2

我的网站上有许多使用自定义分页解决方案的路线,例如/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/及以后,但保留任何获取变量和发布变量,我该怎么做?

1 个答案:

答案 0 :(得分:1)

如果您尝试使用输入重定向回上一页,请使用以下代码。

return redirect()->back()->withInput();

在上述情况下,仅当您从/categories/{category}/page/{page?}

来到网址/categories/{category}时才会有效