Laravel 分页伪静态 静态URL 自定义分页URL .html实现
自带paginate分页 URL链接伪静态 以斜线结尾或者.html结尾 SEO实现方法
一、简述
为了SEO优化,我收到的就是这么个分页参数显示的需求。
实现的是这样的URL,当然列表页更多的可能是不是HTML结尾的,
只要跟我的方法一样不拼接.html就好了,都是同理所以分享一下。
二、实现过程
1.修改vendor\laravel\framework\src\Illuminate\Pagination\AbstractPaginator.php文件
①声明变量
//声明分页URL的变量
protected $pageUrl = '';
//声明分页URL的尾缀
protected $ext = '';
②修改url函数,在url方法中增加if判断。
if($this->pageUrl !=''){
return $this->pageUrl.$page.$this->ext;
}
注:如果不需要加.html需要斜线结尾ext就写'/'。
③增加一个url的预加载方法
//url预加载
public function withUrl($str,$ext)
{
$this->urlStr = $str;
$this->ext = $ext;
return $this;
}
④修改路由
注:路由主要是传输page值。
⑤调用预加载方法
DB::table('')->
where('')->
paginate(12,['*'],'page',$page)->
withUrl('页码前面的URL','页码后的尾缀');
paginate(每页数量,默认值,默认值,当前页)
⑥页面调用
{{$contents->links()}}
<!-- {!! $contents->render() !!} -->
就是laravel自带的调用分页方法哪种都可以!
三、总结
本人刚刚开始写laravel,觉得laravel的中间件、作用域是挺好的设计,不对之处多多指教。
本人编辑,转载请注明出处,原地址:https://blog.csdn.net/weixin_41818665/article/details/94404851