页面静态化3 --- 伪静态技术
伪静态:
上一节我们讲了真静态技术的几个优点:
①减少服务器对数据响应的负荷;
②加载不用调动数据库
③方便优化引擎
但同时伴随着缺点:
①生成的真静态文件多,服务器对html文件的响应负担也比较重;
②空间占用比较大。
如果一个系统使用真静态进行页面静态化,需要生成海量的静态页面,我们可以考虑使用伪静态来处理
目前业内最喜欢用的一个技术是(伪静态技术+ob的组合)技术
首先复习以下正则表达式:
//PHP中如何使用正则表达式?---案例$str = 'abcdeft1234 ghirh 5656; //①要求:把4个连续的数照出来?//解:preg_match('/(\d)(\d)(\d)(\d)/si', $str, $arr);//preg_match()函数只匹配一个满足要求的字串就停止匹配,$arr[0]用来存储 满足正则表达的字串,//$arr[1]匹配模式中第一个字表达的结果,//$arr[2]匹配模式中第二个表达式的结果//$arr[n]匹配模式中个第n个表达式的结果 preg_match_all('/(\d)(\d)(\d)(\d)/si', $str, $arr);//preg_match_all();匹配所有满足条件的字串,并且将结果放在$arr中,$arr[0]是匹配到的所有结果//$arr[0][0]匹配存放第一个匹配结果,$arr[0][1]匹配存放的第二个匹配结果//$arr[1][0]是第一匹配到的结果中的第一个子表达式1,$arr[n][m]是是第n个匹配到的结果中的第m个子表达式 //②找三个数相同且相连的数 -- 找到 000-666-222$str = "000-666-222 jfkdjkfd234-900-098 89";解:preg_match('/(\d)\1{2}-(\d)\2{2}-(\d)\3{2}/si', $str, $arr);特别说明:当正则表达式中有反向引用的时候,那么正则表达式使用单引号!!!!
观察此页:
http://localhost/category.php/345-1-22.html
Apache服务器认为:category.php是文件,而之后的345,1,22是跟的参数
那么通过浏览器输出的内容就是category.php的内容
因为SEO的原因,上面的网址本身应当这样写:
http://localhost/category.php?a=345&b=1&c=22,
所以这样写的网址不利于seo
通常有公司用伪静态的技术把网址写成:
http://localhost/category.php/345-1-22.html
如何动态取出345、1、22这三个值???
方法1:PHP正则表达式
①获取345-1-22.html
$pathinfo = $_SERVER['PATH_INFO'];if (pre_match('/^\/(\d+)-(\d+)(\d+)\.html$/si', $pathinfo, $arr)) {echo $arr[1];echo $arr[2];echo $arr[3];} else {echo '您输入的地址有误!';}
练习:获取地址如,http://localhost/news-sports-id67.html 获取这个地址中的news,sports,id67
if (preg_match('/^\/(\w+)-(\w+)-(\w+)\.html$/is', $_SERVER['PATH_INFO'], $arr)) {echo $arr[1];echo $arr[2];echo $arr[3];} else {echo '输入地址有误';}
问题:当直接在浏览器输入http://localhost/news-sports-id67.html的时候访问结果与访问http://localhost/news.php/news-sports-id67.html结果相同
方法2:Apache的rewrite机制
Apache的rewrite机制下一节继续!
转载于:https://www.cnblogs.com/Zell-Dinch/p/3926711.html
页面静态化3 --- 伪静态技术相关推荐
- html静态化和动态页面,web动态页面静态化,伪静态
动态页面静态化 首选,我们需要了解两个概念, 静态页面 和 动态页面 静态页面 最早的时候,网站内容是通过在主机空间中放置大量的静态网页实现的 静态网页最大的缺点就是每个人看到的一样的. 以静态网页为 ...
- 页面静态化之FreeMarker技术
在Eclipse工具中使用FreeMarker 点击Window,选择preference,弹出如下框 找到:General–Editors–File Associations 如下,如果有*.ftl ...
- 大型网站架构提速关键技术(页面静态化、memcached、Mysql优化)
大型网站关键技术介绍 1. pv值(page views),访问量大 带来问题 a. 流量大 10000000*2m ->解决方案 买带宽 ,优化程序(处理图片) b. 并发量,同时访问网站的人 ...
- PHP 页面静态化/纯静态化/伪静态化
转载:https://www.cnblogs.com/caoruiy/p/4698938.html 概念 PHP静态化分为:纯静态化 和 伪静态化:纯静态化又分为:局部静态化 和 完全静态化 纯静态化 ...
- PHP实现页面静态化、纯静态化及伪静态化
概念 php静态化分为:纯静态化 和 伪静态化: 纯静态化又分为:局部静态化 和 完全静态化 纯静态化:是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新 ...
- 网站优化---页面静态化技术
一: 首先先区分一下动态页面和静态页面的区别 动态文件:PHP脚本.Java脚本等 动态文件的执行过程:词法.语法分析 -> 编译 -> 渲染输出 静态文件:HTML文件 从加载速度上可以 ...
- freemarker 页面静态化技术
文章目录 一.背景 二.页面静态化技术freemarker 三.Freemarker基本操作 1.引入依赖: 2.创建模板文件: 3.FTL指令: 四.freemarker整合spring 五.总结: ...
- HTML页面静态化技术
随着网站的内容的增多和用户访问量的增多,无可避免的是网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化. 此文已Django的 ...
- PHP ob缓存页面静态化技术
判断大型网站的标准 1 Pv(page views) Page view 就是页面浏览次数: 一个网站在一天内,所有页面被浏览的次数综合., 上千万的pv值,百万级的也勉强可以算. 2 IP 一天内 ...
- jsp静态化和伪静态化转载
2019独角兽企业重金招聘Python工程师标准>>> 首先说说为什么要静态化. 对于现在的Web Application来说,动态页面是占有绝对高的地位的,正因为有了动态化,才有了 ...
最新文章
- OpenGL coordinate systems坐标系统的实例
- 详解var、let、const关键词声明变量的区别,以及变量提升、块级作用域的认识等。
- 如何在Windows上安装Angular:Angular CLI,Node.js和构建工具指南
- oracle中block
- LeetCode数据库 176. 第二高的薪水
- Unix环境高级编程(十五)高级I/O
- 蓝桥杯2017年第八届C/C++省赛A组第一题-迷宫
- CentOS配置history记录每个用户执行过的命令
- CorelDRAWX4SP2简体中文正式版精简增强版
- java-opencv 米粒数_Python opencv学习音符的米粒数,返回每个米粒的位置面积和总米粒数的平均面积,pythonopencv,笔记,之数,并,一个,及,个数...
- CCF计算机职业资格认证考试201403-2“窗口”试题及答案
- 【最后有彩蛋】Pyhton接口测试手册
- win操作iOS UI自动化(tidevice+appium)
- 一个简单的app爬虫:对近期热播剧《三十而已》进行知乎app关键词搜索
- 剑指offe JZ18 删除链表的节点
- 张志华 统计机器学习
- 深度强化学习综述论文 A Brief Survey of Deep Reinforcement Learning
- 解决python利用openpyxl读取excel中公式结果值的问题
- dbForge Studio for MySQL_完美破解版
- 【笔记】ARM架构和ARM芯片(三)
热门文章
- Linq To EF (添加记录后获取添加的自增ID和叫“ID”的列不是自增列不让插入的问题)...
- Oracle数据库内存使用情况分析查看
- O(n^2)以及O(nlogn)时间复杂度的排序算法
- Codeforces Round #301 (Div. 2)
- Windows 2003域更名工具(Domain Rename Tool)
- 4.闭锁 CountDownLatch
- 初始化map和list的两种写法
- linux SSH rsa认证方式登录需理清的问题
- 提高网站速度|负载均衡
- 【tensorRT文档翻译】7. Working With Dynamic Shapes