php怎么做页面静态化 php实现站点静态化的代码片段

做网站开发中,经常会遇到运营反馈需要进行对网站进行静态化改造。

那如何通过PHP实现页面静态化效果,今天就分享关于PHP开发中的实现PHP片段。

页面静态化的好处

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

● 提高访问速度

● 减少服务器压力

● 有利于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/baidu.html,由于没有静态页,相当于请求到 www.youWebsite.com/index.PHP?website=baidu。通过PHP的处理,已经生成baidu.html文件

再次访问 www.youWebsite.com/baidu.html,这时由于存在baidu.html文件,直接返回静态页,而不再请求PHP

有几点注意事项:

● 检查apache是否开启 Rewrite

● Linux下文件权限

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...