-
直接看第三章查看全部
-
开始查看全部
-
OB 都是 操作缓冲区的函数
查看全部 -
php ini :262 默认开启; buffer写满 才会写入硬盘
获取php缓冲区中的数据 ob_get_contents();
代码中开启buffer: ob_start();
查看全部 -
php buffer
查看全部 -
动->静 是通过nginx 配置实现(伪静态)
查看全部 -
如果目录或文件存在,优先调用现有目录或文件。
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}% {REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}% {REQUEST_FILENAME} !-f
RerwriteRule ^/detail/([0-9]*).html$ /detail.php?id=$1
查看全部 -
ob_start();
file_put_contents('index.shtml',ob_get_clean());
查看全部 -
动态页面是根据用户的请求,从服务器数据库获取相应的数据,返回至页面
静态页面是 纯html+css页面,访问不会访问数据库。
伪静态,顾名思义,假的静态,实为动态,只是把的动态的pathinfo转换成访问静态文件的格式,再通过自己内部设定相应的正则表达式匹配到符合的假理由,将其转换成自己设定好的真正的接口路由,
方法有 在单文件中设置,匹配到就转动态
还有在服务器中设置,appach和ngix差不多,都是vhost中,虚拟域名设定的地方,开启重写拓展后,通过设定正则规则自动完成伪静态,还可以设置,有文件匹配就匹配文件或者 优先匹配伪静态的路由。
没什么难的,理解下原理就行,真正用到的,框架里应该都有此功能吧
查看全部 -
触发系统生成纯静态化页面之 页面添加缓存时间
filemtime() 获得文件修改时间
查看全部 -
触发系统生成纯静态化页面
查看全部 -
模板引擎渲染php数据,生成纯静态化的方法:
1.连接数据库,从数据库数据相应数据
2.把获取到的数据填充到模板文件
3.把动态页面转化为静态页面,生成静态化文件
ob_staty()
file_put_content('index.html', ob_get_clean())
访问index.html文件
查看全部 -
PHP如何实现页面纯静态化:
1,file_put_contents()函数
2.使用PHP内置缓存机制实现也米娜静态化 -- output_buffering
如何实现php页面纯静态化
查看全部 -
php脚本输出内容到浏览器显示的流程:
先将输出的内容写入到php buffer中,然后通过tcp协议输出显示到终端。
php buffer 在php.ini文件中有output_buffering选项的配置,
设置为on时,php中输出内容后,使用ob_get_contents()可以获取到缓存区的数据,使用echo等方式可以打印输出该内容
如果没有开启该配置,想要使用的话,可以在代码中通过使用ob_start() 开启
查看全部 -
php静态化分类
查看全部 -
优化页面响应时间:
动态页面静态化
优化数据库
使用负载均衡
使用缓存
查看全部 -
nginx下rewrite配置
找到/etc/nginx/conf.d目录下的ngnix配置文件,打开后,找到server进行规则写入。
serer{
listen 80;
server_name static.com;
index index.shtml index.html index.htm index.php;
root /data/static;
location /{
if(!-e $request_filename){
rewrite ^/detail/([0-9]*).html$ /detail.php?id=$1 last;#规则
break;
}
}
}
重启nginx服务:sudo service nginx restart
注:伪静态配置根据业务需求来定 并非配置越多越好。太多影响服务器性能。
查看全部 -
apache下rewrite配置
虚拟域名配置
1)找到httpd.conf 查找LoadModule rewrite_module modules/mod_rewrite.so 将其开启。通过php内置函数phpinfo()查看apache是否开启了此模块。查找mod_rewrite 若存在则代表开启。
2)找到Include conf/extra/httpd-vhosts.conf并将其开启。
3)配置httpd-vhosts.conf文件:
<VirtualHost 127.0.0.19:8080>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "e:/sing/state"
ServerName state.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
#RewriteEngine on
#RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-d
#RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-f
#RewriteRule ^/detail/([0-9]*).html$/detail.php?id=$1
</Virtualhost>
httpd_vhosts.conf配置文件配置相关信息
其中rewritecond中的document_root表示网站域名 request_filename表示url中域名后的请求内容。!-d表示目录 !-f表示文件。这两个rewritecond的意思是,当访问网站时,若遇到url中存在对应目录对应文件时,则直接访问对应的目录文件,而不需遵守rewriterule中的匹配规则。
而rewriterule则代表,当访问网站url时,会将url按照这条写好的规则进行匹配,若匹配成功,则访问规则中定义的文件。
配置windows中的drivers里的hosts文件,将127.0.0.19 state.com写入文件中。
apache伪静态url地址rewrite方式配置完成。
查看全部 -
利用$_SERVER获取PATH_INFO变量 然后通过获取到的地址 用php的正则判断 将符合判断的内容取出,并进行下一步处理。
其中,正则匹配运用到了php的一个内置函数为:preg_match($reg,$str,$newstr),其中第一个参数为:正则匹配的规则;第二个参数为:要进行匹配的字符串;第三个参数为:匹配成功后生成的新的字符串。
PS:其中,关于$_SERVER中的PATH_INFO变量,在Apache服务器中,是默认开启的。但是在Nginx中,默认是不开启的,所以如果是使用了Nginx服务器且运用到了PATH_INFO功能,请先检查是否开启,若没有开启,则对Nginx服务器进行配置。
查看全部 -
php.ini 文件内存在output_buffering设置。为on时开启缓存区功能
ob_start() 开启一个新的缓存区
filemtime 获取文件最新一次更改时间。
ob_get_clean() 获取缓存区内容输出到文件内并清空缓存区
ob_get_contents() 获取缓存区内容输出到文件内 不清空缓存区
查看全部 -
页面静态化函数
查看全部 -
方式查看全部
-
方式查看全部
-
apache伪静态配置示例
查看全部 -
页面静态化流程
查看全部
举报