最近在工作中需要实现页面静态化,借此机会把相关资料记录,整理成demo。具体需求为输入域名,如baidu、sina等,如有静态页,返回静态页;如没有,访问获取网页内容并生成静态页。
页面静态化的好处
根据不同情况,有些需要生成静态页,有些实现伪静态即可,根据实际需求进行抉择。而静态化的好处,总结下来有以下几点:
提高访问速度
减少服务器压力
有利于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/baidu.html,由于没有静态页,相当于请求到www.youWebsite.com/index.php?website=baidu。通过PHP的处理,已经生成baidu.html文件。
再次访问www.youWebsite.com/baidu.html,这时由于存在baidu.html文件,直接返回静态页,而不再请求PHP。有几点注意事项:
检查apache是否开启Rewrite
Linux下文件权限
以上就是PHP实现页面静态化的方法介绍(代码示例)的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答