美文网首页PHP经验分享
PHP 实现页面静态化

PHP 实现页面静态化

作者: haoyq | 来源:发表于2017-10-27 11:59 被阅读28次

导语

最近在工作中需要实现页面静态化,借此机会把相关资料记录,整理成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} !-d
RewriteCond %{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下文件权限

第一篇分享就写到这里了,欢迎大家讨论,有时间会多写一些。

相关文章

  • 听欢哥讲PHP页面静态化

    页面静态化 1、什么是PHP静态化 PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在用户面前。 ...

  • PHP 实现页面静态化

    导语 最近在工作中需要实现页面静态化,借此机会把相关资料记录,整理成demo。具体需求为输入域名,如jianshu...

  • php 实现页面静态化

    静态页面是网页的代码都在页面中,不需要执行asp,php,jsp,.net等程序生成客户端网页代码的网页。并且静态...

  • PHP实现页面静态化

    概念 PHP静态化分为:纯静态化 和 伪静态化;纯静态化又分为:局部静态化 和 完全静态化 纯静态化:是把PHP生...

  • PHP页面静态化...未完

    1.基本方式 file_put_contents()Hanshu使用PHP内置缓存机制实现页面静态化 -outp...

  • php页面静态化实现方案

    对内容不经常变化的面向用户的页面进行静态化处理可以显著提升页面的响应速度,同时还可以减少对服务器系统资源的占用并降...

  • 静态化方法

    静态化方法 页面静态化的方法,分为两种,一种是伪静态,就是url 重写,一种是你真的静态化。下面介绍PHP中页面静...

  • 第二课时:websocket

    通过原生php实现websocket 新建静态页面 php的实现 请求头 必须是有效的http request 格...

  • PHP页面静态化

    PHP页面静态化 在我们开发网站时候,为了能够让更多的用户看见,展现网站,除了做付费推广还有一个重要的角色就是给网...

  • PHP中9大缓存技术总结

    1、全页面静态化缓存 也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解...

网友评论

    本文标题:PHP 实现页面静态化

    本文链接:https://www.haomeiwen.com/subject/jgcrpxtx.html