为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 实现页面静态化

标签:
PHP

导语

最近在工作中需要实现页面静态化,借此机会把相关资料记录,整理成demo。具体需求为输入域名,如jianshubaidusina等,如有静态页,返回静态页;如没有,访问获取网页内容并生成静态页。

页面静态化的好处

根据不同情况,有些需要生成静态页,有些实现伪静态即可,根据实际需求进行抉择。而静态化的好处,总结下来有以下几点:

  • 提高访问速度

  • 减少服务器压力

  • 有利于SEO

  • 提升网站稳定性

PHP生成静态页

PHP生成静态页有多种方法,此次使用的是ob系列函数,函数内容可查看手册

<?php$website = $_GET['website'];

ob_start();// 打开输出缓存$content = file_get_contents('http://www.'.$website.'.com');echo $content;// 输出内容,此部分的内容为静态页的内容file_put_contents('./'.$website.'.html', ob_get_contents());
ob_end_clean();// 关闭echo $content;

Rewrite重写规则

.htaccess中实现Rewrite重写规则,至于使用.htaccess是否影响效率不在讨论范围之内。

RewriteEngine on# 如果有符合条件的静态页,返回静态页RewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-f# 路由重写RewriteRule ^(\w+).html$ /index.php?website=$1

测试

此时访问域名www.youWebsite.com/jianshu.html,由于没有静态页,相当于请求到www.youWebsite.com/index.php?website=jianshu。通过PHP的处理,已经生成jianshu.html文件。
再次访问www.youWebsite.com/jianshu.html,这时由于存在jianshu.html文件,直接返回静态页,而不再请求PHP。有几点注意事项:

  • 检查apache是否开启Rewrite

  • Linux下文件权限



作者:haoyq
链接:https://www.jianshu.com/p/290864ff2c3f

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消