小蚂蚁学习页面静态化(完结)——伪静态的实现和配置方法

伪静态的作用:1.让url更加美观。2.对搜索引擎更加友好。

php处理伪静态案例分析(path_info模式)

备注:nginx服务器默认下是不支持path_info模式的,需要去配置

通过正则表达式去分析伪静态url的特性,很简单,直接上代码

<?php 
	//匹配这个url地址 /index.php/2/1.html
	if(preg_match(‘/(\d+)\/(\d+)\.html/‘, $_SERVER[‘PAHT_INFO‘],$arr)){
		$type	=	$arr[1];
		$category_id	=	$arr[2];

		//一些业务逻辑处理	比如查询数据库
	}else{
		//一些业务逻辑处理
	}

 ?>

Apache下配置rewrite方法

1.虚拟域名的配置

2.httpd_vhost.conf设置

虚拟域名的配置

1. httpd.conf 文件开启相关模式

去掉一下两句之前的 #

LoadModule rewrite_module modules/mod_rewrite.so

Include conf/extra/httpd-vhosts.conf

2. 打开/extra/httpd_vhost.conf文件,在里面配置相关域名和伪静态规则

<VirtualHost *:80>(这里可以指定ip)

ServerAdmin [email protected]

DocumentRoot "D:\ai\Program Files\phpStudy\WWW\demo"(这里指定路径)

ServerName www.demo.com    (这里指定域名)

ErrorLog "logs/dummy-host2.example.com-error.log"

CustomLog "logs/dummy-host2.example.com-access.log" common

RewriteEngine on    (开启伪静态引擎)

RewriteCond    %{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-d

RewriteCond    %{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-f

(上面的这两句是说,如果访问的url路径有真实存在的静态页面,就加载该静态页面,如果不存在就执行伪静态。当然,如果希望不管有没有页面,都要执行伪静态的话,就把上面两句删了就好)

RewriteCond    ^/detail/([0-9]+)$ /detail.php?id=$1    (配置伪静态路径)

</VirtualHost>

3. 修改    c:windows/system32/drivers/etc/hosts

添加 127.0.0.1 www.demo.com

这样apache下rewrite配置,就妥妥搞定了。

nginx下rewrite配置方法

找到配置文件 cd /etc/nginx/conf.d

找到对应页面的配置文件,编辑它

……

if(!-$request_filename){

rewrite ^/detail/(\d+).html$ /detail.php?id=$1 last;

break;

}

……

这样就可以了。by the way,伪静态配置的太多,也是会影响服务器的性能的。

时间: 2024-10-10 11:01:58

小蚂蚁学习页面静态化(完结)——伪静态的实现和配置方法的相关文章

小蚂蚁学习页面静态化(1)——静态化的原理

关于页面php文件执行阶段 语法分析-->编译-->运行 如何优化页面的响应时间 动态页面静态化 优化数据库 使用负载均衡 使用缓存 页面静态化能够解决的问题    1.减少服务器脚本的计算时间    2.降低服务器的响应时间    但是静态化不适用于内容经常变换的页面. Buffer认知 Buffer就是一个缓冲区,一个内存地址空间,用于存储数据的区域 输出流程 内存->php buffer->tcp->终端 将Php.ini中    output_buffering =

小蚂蚁学习页面静态化(2)——更新生成纯静态化页面的三种方式

更新生成纯静态化页面的三种方式:1.按照时间间隔更新.2.手动更新.3.定时更新(需要系统配合). 1. 按照时间间隔更新. 当用户第一次访问这个页面的时候,程序自动判断,该静态文件是否存在,并且该文件是否还在有效时间内,如果该文件未超出了有效时间,用户访问的是已经生成的静态文件.如果超出了有效时间,用户得到的是动态输出的内容,同时重新生成静态文件.稍微修改一下昨天的代码为例: <?php //首先判断是否有静态文件,并且文件的最新修改时间到现在是否大于20秒 if(is_file('./tex

页面静态化3 --- 伪静态技术之Apache的rewrite机制

  Apache的rewrite机制: 意思就是,你发送的地址,比如:http://localhost/news-id67.html会被Apache改写成http://localhost/news.php?id=67; Apache本身内置了一个模块:(httpd.conf) #LoadModule rewrite_module modules/mod_rewrite.so ---- 去掉注释,开启Apache内置的重写模块开启模块过后,这个模块把news-id67.html重写为news.ph

页面静态化3 --- 伪静态技术

伪静态: 上一节我们讲了真静态技术的几个优点: ①减少服务器对数据响应的负荷: ②加载不用调动数据库 ③方便优化引擎 但同时伴随着缺点: ①生成的真静态文件多,服务器对html文件的响应负担也比较重: ②空间占用比较大. 如果一个系统使用真静态进行页面静态化,需要生成海量的静态页面,我们可以考虑使用伪静态来处理 目前业内最喜欢用的一个技术是(伪静态技术+ob的组合)技术 首先复习以下正则表达式: //PHP中如何使用正则表达式?---案例 $str = 'abcdeft1234 ghirh 56

页面静态化之动态,静态,伪静态概念

页面静态化作为大型网站提速的三大技术之一也是非常重要的,另外还有Memcached和mysql优化技术. 所以,我们应该先对静态,动态,和伪静态的概念要做到了解. 所谓静态:在我个人看来就是单纯的html网页.一般来说仅用来查看. 而动态:绝对不是能动的网页,而是用户能够和服务器进行动态数据交互.如表单数据提交到服务器等 而伪静态:就是隐藏动态网页的数据,以静态的网页的格式展现. 在学习静态化技术之前,要知道的是,动态的数据交互不利于收索引擎的搜索,而必须seo(搜索引擎优化),更不利于减小服务

ASP.NET页面静态化 之 (伪静态)

1.页面为何要静态化 有利于搜索引擎优化(SEO) 使页面URL看起来更正规 真静态 的效率更高,并且更安全,HTML页面不会受Asp.Net相关漏洞的影响: 2.伪静态原理 其原理就是,在一个页面请求的执行期间将伪静态的URL重写成真实的URL路径: 3.那种条件下需要静态化 一个页面经常被访问,并且页面内容基本不变的: 所有用户访问的页面内容基本一样的. 例如:(新闻模块) 4.下面开始带领大家写一个伪静态的案例(新闻模块) (1)先创建新闻模块数据库 T_Channels表,存储新闻类别

PHP 页面静态化/纯静态化/伪静态化

概念 PHP静态化分为:纯静态化 和 伪静态化:纯静态化又分为:局部静态化 和 完全静态化 纯静态化:是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页,优点就是减小服务器开销, 局部静态化:是生成的静态文件中,有局部的数据还是通过ajax技术动态获取的: 完全静态化:即不存在动态获取数据的情况,所以内容都来自静态的html页面 伪静态化:其实还是动态访问,其实质是动态生成数据,你访问的网址类似于"http://yourhost,c

PHP 404页面/如何设置404页面/URL静态化/URL伪静态化

php中如何设置404页面及其他错误页面 首先在项目根目录下新建文件,文件名为" .htaccess " 在该文件中写入一下配置项: ErrorDocument 404 /404.html 或者是带有文件路径的地址: ErrorDocument 404 /error_pages/404.html 其他 401.500 等错误同理 注意点是:( 参考 ) 不要将错误页面指向主页面,可能会导致主页在搜索引擎中消失: 错误页面地址设置用相对路径(如果有绝对地址,会返回发起两次请求,第一次是3

Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化

模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则.强大的功能.高效的渲染效率.详尽的帮助说明与不断的更新与维护.常见的前端模板引擎有: 常用的java后台模板引擎:jsp.FreeMarker.Velocity等. 请不要迷恋速度,为了推广的测试可能是片面的,好的模板引擎经得起时间考验,建议大家选择成熟的.常用的模板引擎.另外不管前后端的模板引擎