php缓存
warning ======================
量大 和 访问量大 是两个概念
真静态 ======================
ob 缓存 实时性问题 需要判断动态文件修改时间 并没有用静态页面 也是动态页面访问的
真静态 在添加修改的时候 可以实时性 如果 数据是海量的 就会造成html 文件过多 磁盘占用量太大 (可以有层次的放)
伪静态 =====================
用apache的rewrite模块
LoadModule rewrite_module modules/mod_rewrite.so 166行前面#去掉
如果老版本 没有这个的话 你就直接手写就行了
当你一个请求发给apache之前 他会看你域名是否配置 如果在houst配置了 就不会去外网找的
启用虚拟主机
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
<VirtualHost 127.0.0.2>
ServerAdmin 2798@qq.com //管理员邮箱
ServerName "127.0.0.2" //域名
DocumentRoot "D:\app\www\lee" //文档根目录
<Directory "D:\app\www\lee"> //这个目录是否可以访问
Options -Indexes FollowSymLinks /禁止目录查看把-改成+就好了 或者去掉 indexes Options Indexes FollowSymLinks 允许查看
AllowOverride All //是否启用 rewrite
Order allow,deny //允许什么 不允许什么
Allow from all //允许所有请求 Deny from all 拒绝所有请求
</Directory>
<Directory "D:\app\www\lee\private"> //private目录不允许访问
Options -Indexes FollowSymLinks /禁止目录查看
</Directory>
</VirtualHost>
如果这个虚拟主机没有配置 Directory 的话 那么就去http.conf里面 找apache 默认的directory 配置在 188行左右
所以说 如果你想开启 rewrite 在directory 里配置 allow from all 最好在 apache的 httpd.conf里面也开启下
当然 子目录权限最大
2 配置虚拟主机 ==============
在目录下面 创建 .htaccess 文件
# 写你的rewrite 规则
RewriteEngine On #开启rewriteengine 重写引擎
#RewriteRule # 重写规则
如果有 news-id34.html 这个页面结尾 就转发到 news.php这个文件里面去
RewriteRule news-id(\d+)\.html$ news.php?id=$1
可以配置多个规则 匹配的顺序是从上到下
<IfModule rewrite_module>
//这个代码块的意思是 如果启用了 rewrite 才会使用里面的代码 如果没有启用 就不使用
</IfModule>
我们也可以把rewrite规则 直接放在 httpd.conf的
<Directory>
RewriteEngine On
RewriteRule news-id(\d+)\.html$ news.php?id=$1
</Directory>
里面
项目可以用 ob缓存 + 伪静态 这样做比较好 虽然ob缓存会生成很多html页面 但是 你可以在后台删除缓存
更方便的就是 window 用任务管理器 定时执行 控制面板 任务计划 添加计划
linux下面可以 crontab 来定时删除
mybat.bat
"C:\\wamp\\apache\\bin\\ab.exe" -n 1 -c 1 http://www.baidu.com
Demo:
# 将 RewriteEngine 模式打开
RewriteEngine On
# 安装目录路径,如果程序放在空间根目录中,请将 /movie 修改为 /
RewriteBase /movie
# Rewrite 系统规则请勿修改
RewriteRule ^vod-(.*)$ index.php\?s=/Home-vod-$1
RewriteRule ^news-(.*)$ index.php\?s=/Home-news-$1
RewriteRule ^special-(.*)$ index.php\?s=/Home-special-$1
RewriteRule ^tag-(.*)$ index.php\?s=/Home-tag-$1
RewriteRule ^gb-(.*)$ index.php\?s=/Home-gb-$1
RewriteRule ^cm-(.*)$ index.php\?s=/Home-cm-$1
RewriteRule ^map-(.*)$ index.php\?s=/Home-map-$1
RewriteRule ^my-(.*)$ index.php\?s=/Home-my-$1