Laravel 9 移除分页参数获取规范当前页面URL问题
在Laravel 9中移除Canonical链接的分页参数
有几种简单的实现方式,均基于Laravel自带工具,无需额外依赖:
方法一:控制器处理后传给视图(推荐)
在对应页面的控制器方法里,生成移除page参数的规范链接,再传递给视图:
// 控制器代码 $canonicalUrl = request()->fullUrlWithQuery(array_except(request()->query(), 'page')); return view('搜索页面的视图名', compact('canonicalUrl'));
然后在视图里直接使用:
<meta name="canonical" href="{!! $canonicalUrl !!}">
方法二:直接在视图中处理
如果不想在控制器添加逻辑,也可以直接在视图内完成处理:
<meta name="canonical" href="{!! request()->fullUrlWithQuery(array_except(request()->query(), 'page')) !!}">
补充说明
- 若需同时移除多个参数,将
'page'替换为数组即可,例如array_except(request()->query(), ['page', 'sort']) - 也可使用原生PHP写法替代Laravel辅助函数:
$query = request()->query(); unset($query['page']); $canonicalUrl = request()->url() . (count($query) ? '?' . http_build_query($query) : '');
内容的提问来源于stack exchange,提问作者Med
相关产品推荐
相关产品推荐

