页面静态化的好处

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

● 提高访问速度

● 减少服务器压力

● 有利于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下文件权限

更多相关文章

  1. php网站启用伪静态的方法
  2. apache伪静态转nginx
  3. apache开启伪静态
  4. 如何区分重载和重写?
  5. 设计模式之代理模式(包含静态代理和动态代理)
  6. Java 类的静态变量存放在哪块内存中?
  7. 单例模式的十种写法,你会几个?(重写版)
  8. 面试官:为什么静态方法不能调用非静态方法和变量?
  9. 静态链表

随机推荐

  1. Auto-generated primary key in sql data
  2. 解决Linux主机上的 远程MySQL客户端无法
  3. 安装MySQL时出现黄色感叹号,提示3306已被
  4. java链接数据库--Mysql
  5. MySQL常用命令与常见问题解决
  6. profiles在mysql中的应用
  7. 30分钟安装linux版本mysql5.7.21版本,没
  8. MySQL官网示例数据库emploees分析使用
  9. Mysql 查询—按位运算
  10. mysql——数据库设计中int与varchar中的