热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php框架优化,thinkphp框架分页优化方案

thinkphp框架是国内知名的php开发框架,但是在分页问题上对seo并不是很优好,下面我们改进框架分页规则,让其更利于seo优化。一、

thinkphp框架是国内知名的php开发框架,但是在分页问题上对seo并不是很优好,下面我们改进框架分页规则,让其更利于seo优化。

一、改造说明

示例网址:

http://www.demo.com/list/demo.html    第一页

http://www.demo.com/list/demo.html?page=2    第二页

http://www.demo.com/list/demo.html?page=3    第三页

原有模式如上,均采用GET方式传递参数以?page作为标记,我们将其改造成以GET方式传参以   "_"方式标记,示例网址如下:

http://www.demo.com/list/demo.html    第一页

http://www.demo.com/list/demo_1.html    第二页

http://www.demo.com/list/demo_2.html    第三页

二、改造代码

方案一:全站改造

使用方式:project\thinkphp\library\think\Paginator.php,替换

7f3f54e42a560e61a0111d2ab855c55c.pngif (!empty($parameters)) {

// new batch start

foreach($parameters as $vv){

if($vv > 1) {

//非首页

if($this->currentPage == 1){

//

$suffix = '.' . config('url_html_suffix'); //伪静态后缀

}else{

$suffix = '-' . $this->currentPage . '.' . config('url_html_suffix'); //伪静态后缀

}

$url    = str_replace($suffix, '-', $url);

} else {

//首页,只保留协议部分

$suffix = '-' . $this->currentPage . '.' . config('url_html_suffix'); //伪静态后缀

$url    = str_replace($suffix, '', $url);

}

if($vv == 1){

$url .= '.html';

}else{

$url .= $vv.'.html';

}

}

}

方案二:前台改造if (!empty($parameters)) {

if(strpos('此处为后台路径',$url)){

$url .= '?' . http_build_query($parameters, null, '&');

}else{

// new batch start

foreach($parameters as $vv){

if($vv > 1) {

//非首页

if($this->currentPage == 1){

//

$suffix = '.' . config('url_html_suffix'); //伪静态后缀

}else{

$suffix = '-' . $this->currentPage . '.' . config('url_html_suffix'); //伪静态后缀

}

$url    = str_replace($suffix, '-', $url);

} else {

//首页,只保留协议部分

$suffix = '-' . $this->currentPage . '.' . config('url_html_suffix'); //伪静态后缀

$url    = str_replace($suffix, '', $url);

}

if($vv == 1){

$url .= '.html';

}else{

$url .= $vv.'.html';

}

}

}

}

三、路由改造Route::get('index$', 'admin/Link/index'); //友情链接

Route::get('index-', 'admin/Link/index'); //友情链接

四、seo标题优化/**

* 友情链接

* @param int $page

* @return \think\response\View

*/

public function index($page = 0)

{

if ($page) {

$title = '我是列表第' . $page . '页数';

} else {

$title = '我是列表';

}

return view('Link/index', ['title' => $title]);

}



推荐阅读
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • layui表格分页不生效怎么办
    web前端|Layui教程layuiweb前端-Layui教程小程序实例源码,ubuntuip切换,tomcat默认端改为80,爬虫完整源码,微信小程序php接口,seo专业培训班 ... [详细]
  • ThinkPHP视频教程第二十五集:关联模型
    php教程|php手册thinkphp代码,代码示例,代码参考,php短信,数据库备份代码,令牌验证,去除代码中的空白和注释Thinkphpphp教程-php手册对学习Thinkp ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • PHP函数实现分页含文本分页和数字分页【PHP】
    后端开发|php教程PHP,分页后端开发-php教程最近,在项目中要用到分页。分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装。影视网源码带充值系统,vscode配置根 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • 通过手机浏览器调用客户端QQ
    php教程|php手册thinkphp代码,代码示例,代码参考,php短信,数据库备份代码,令牌验证,去除代码中的空白和注释调用QQ客户端php教程-php手册可调用iosandr ... [详细]
  • 后端开发|php教程apache配置文件,thinkphp后端开发-php教程例如你的原路径是http:localhosttestindex.phpindexadd那么现在的地址是 ... [详细]
  • 实现jqueryfileupload文件上传带进度条效果的方法
    jQueryFileUpload是一个Jquery图片上传组件,支持多文件上传、取消、删除,上传前缩略图预览、列表显示图片大小,支持上传进度条显示;支 ... [详细]
author-avatar
狡兔死走狗喷Henry
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有