首页 » 必应SEO » thinkphp对seo友爱吗_ThinkPHP5中若何实现模板完全静态化

thinkphp对seo友爱吗_ThinkPHP5中若何实现模板完全静态化

访客 2024-10-18 0

扫一扫用手机浏览

文章目录 [+]

页面静态化与动态页的比拟,静态没有了SQL和一些后端脚本运行,安全稳定,访问速率快,对SEO友好(网上也有说现在的搜索引擎已经对动态网页的抓取没什么压力了),但是搜索引擎再强大,静态的URL也比动态的后面带问号冒号什么的要好看,不对SEO友好对普通浏览用户者也是友好(好看第一)。
但是天生静态页面的弊端,也便是如果一个博客网站,随着文章内容的增多,那天生的页面也不断增多,就算一个html就30几Kb,数量多的情形下也挺耗存储空间,网上也有说频繁天生静态页面化,随意马虎让硬盘涌现坏道。
这个我的意见是不好测试可以忽略,由于现在多数是利用云做事器或云虚拟主机,那些都不是物理硬件,就算太过碎片导致硬盘破坏,网站也能正常访问的,由于那是云做事器。

2. 真静态与伪静态

thinkphp对seo友爱吗_ThinkPHP5中若何实现模板完全静态化 thinkphp对seo友爱吗_ThinkPHP5中若何实现模板完全静态化 必应SEO

这二者的比拟看起来像是正统之争,由于大家都知道伪静态还是动态页,只是Apache通过URL重写规则让其变成了像静态网页的样子。
紧张也是让自己对SEO友好,但是比较真静态多了Apache的步骤,以是也就比较耗费一些做事器的资源。
而真静态的缺陷上面也说了,在项目中的选择看需求,各有利弊,北桥苏的利用紧张是自己网站有时要优化一下速率以是就做了模板静态化,以下是操作过程。

thinkphp对seo友爱吗_ThinkPHP5中若何实现模板完全静态化 thinkphp对seo友爱吗_ThinkPHP5中若何实现模板完全静态化 必应SEO
(图片来自网络侵删)

实现思路

1. 根据模块掌握器自动递归创建目录。

2. file_exists判断天生的静态页是否存在

3. 或判断过期与否,存在重定向到静态网页

4. file_put_contents($file,$content)函数天生页面。

编码

1. 目录的创建

/ 递归创建目录 @param string $dir 文件目录路径 @return boolean 创建结果 /function mkdirs($dir){ if(!is_dir($dir)) { if(!mkdirs(dirname($dir))){ return false; } if(!mkdir($dir,0777)){ return false; } } return true;}

2. 在基类中初始化需创建的目录

protected $staticHtmlDir = \"大众\公众; //静态模板天生目录protected $staticHtmlFile = \"大众\"大众; //静态文件protected function _initialize() { parent::_initialize(); $this->staticHtmlDir = \公众html\公众.DS.$this->request->controller().DS;//……………………………………………………………………

3. 基类中的天生前与天生后的方法。

//判断是否存在静态public function beforeBuild($param) { //天生静态 //$baseDir = \"大众html\公众.DS.$this->request->controller().DS; if(is_array($param)) { $param = implode(\公众_\"大众,$param); } $this->staticHtmlFile = $this->staticHtmlDir.$this->request->action().($param?$param:'').'.html'; if(mkdirs($this->staticHtmlDir)) { if(file_exists($this->staticHtmlFile) && filectime($this->staticHtmlFile)>=time()-6060245) { //静态文件存在 $this->redirect('/'.$this->staticHtmlFile); } } }//开始天生静态文件public function afterBuild($html) { if(!empty($this->staticHtmlFile) && !empty($html)) { if(file_exists($this->staticHtmlFile)) { unlinnk($this->staticHtmlFile); } if(file_put_contents($this->staticHtmlFile,$html)) { $this->redirect('/'.$this->staticHtmlFile); } } }

4. 视图掌握器中的利用。

ThinkPHP5中fetch方法返回给file_put_contents函数作为content就可以天生一个完全的静态页面了。

相关文章

设计师配色网站,色彩搭配的艺术之旅

色彩,是生活中无处不在的元素,也是设计师们不可或缺的工具。在众多设计师配色网站中,我们今天要为大家推荐的是一款备受好评的配色工具—...

必应SEO 2024-12-07 阅读0 评论0

设计师销售网站的打造,提升业绩的利器

随着互联网的普及,越来越多的企业开始重视线上销售渠道的搭建。对于设计师而言,拥有一个专业的销售网站无疑是一个提升业绩的利器。本文将...

必应SEO 2024-12-07 阅读0 评论0