apache的rewrite伪静态实现自动生成html静态化

所有的链接都使用的是/article_view_6.html 第一次执行,用的是rewrite,然后生成了article_view_6.html这个文件,第二次访问。apache就直接使用article_view_6.html这个静态页面了
下面自己写的一个.htaccess文件,主要的作用就是rewrite静态化,如果html文件存在,则直接用,不使用伪静态(不执行php教程),后台如果对文章、首页或是列表页做了更改,只需把相应的html文件删除就行了,无需重新生成。

 代码如下 复制代码

<IfModule mod_rewrite.c>  

02 RewriteEngine on  

03 #rewrite规则  

04 RewriteCond %{REQUEST_FILENAME} !-d  

05 RewriteCond %{REQUEST_FILENAME} !-f  

06 RewriteRule ^article_view_([0-9]+).html$ ?m=article&a=view&1=$1 [L]  

07   

08 #去掉index.php <SPAN class=t_tag onclick=tagshow(event) href="tag.php?name=%BF%F2%BC%DC">框架</SPAN>中需要使用  

09 RewriteCond %{REQUEST_FILENAME} !-d  

10 RewriteCond %{REQUEST_FILENAME} !-f  

11 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]  

12   

13 </IfModule>

 

<IfModule mod_rewrite.c>  

02 RewriteEngine on  

03 #rewrite规则  

04 RewriteCond %{REQUEST_FILENAME} !-d  

05 RewriteCond %{REQUEST_FILENAME} !-f  

06 RewriteRule ^article_view_([0-9]+).html$ ?m=article&a=view&1=$1 [L]  

07   

08 #去掉index.php <SPAN class=t_tag onclick=tagshow(event) href="tag.php?name=%BF%F2%BC%DC">框架</SPAN>中需要使用  

09 RewriteCond %{REQUEST_FILENAME} !-d  

10 RewriteCond %{REQUEST_FILENAME} !-f  

11 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]  

12   

13 </IfModule>

使用方法

 代码如下 复制代码

<?php  

02 require_once("html.class.php");  

03 $html=new html();  

04 /*  

05 这里是执行php文件。  

06 */ 

07   

08 //成生html文件,应该本句应放最后一行。  

09 $html->writehtml();  

10 ?>

时间: 2025-01-25 03:32:51

apache的rewrite伪静态实现自动生成html静态化的相关文章

nginx rewrite 伪静态地址自动补全的方法实现

nginx+php 使用的时候经常需要伪静态,一般大家都手动设置.那有没有办法让 nginx 自动补全路径呢? 这两天折腾很久,才实现了这样一个功能:请求 /a/b/c若文件不存在,查找 /a/b/index.php,/c 作为 PATH_INFO:若文件不存在,查找 /a/index.php,/b/c 作为 PATH_INFO:若文件不存在,查找 /index.php,/a/b/c 作为 PATH_INFO:若文件不存在,返回 404. 虽然这种损耗性能的行为不适合部署,但在本机调试的时候还是

php定时自动生成html静态页面

php定时自动生成html静态页面 "ob_start().ob_end_clean().ob_get_contents()" ob_start():是打开缓冲区的,就是要把您需要生成的静态文件的内容缓存在这里: ob_get_contents():是读出缓冲区里的内容,下面有代码为例: ob_end_clean():这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来: [复制此代码]CODE: if(file_exists("./index.htm")

PHP自动生成HTML静态页的例子

  做静态页面的时候增加这个功能非常不错,大家看下实现代码,在开始之前还是提一下三个函数吧:"ob_start().ob_end_clean().ob_get_contents()" ob_start():是打开缓冲区的,就是要把您需要生成的静态文件的内容缓存在这里; ob_get_contents():是读出缓冲区里的内容,下面有代码为例; ob_end_clean():这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来; if(file_exists("./i

自动生成静态页功能

问题描述 我们的网站上新闻页是生成静态页的,但我是在后台有个按钮控制生成静态页,我想实现我们的网站自动生成静态页,不用每天都去点那个按钮去生成.比如说,我想让网站在凌晨1点的时候自动去将新闻页生成静态页.如何实现? 解决方案 解决方案二:voidApplication_Start(objectsender,EventArgse){//在应用程序启动时运行的代码System.Timers.TimermyTimer=newSystem.Timers.Timer(60000);myTimer.Elap

zblog php版本实现URL静态化(伪静态)方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 网站的URL实现静态化虽然不是必要的,但是却是可以给你网站加分的,首先你自己和用户看着也舒服,不用再看那么多乱七八糟的符号了,其次搜索引擎抓取起来来方便,所以,如果能够实现URL静态化就尽量实现,利肯定大于弊. zblog的php版本提供了非常简单的URL静态化方法,准确的说应该是伪静态,因为它并不是真的生成了静态化的文件,只是让你看着网址是

Nginx的伪静态配置中使用rewrite来实现自动补全的实例_nginx

nginx+php 使用的时候经常需要伪静态,一般大家都手动设置.那有没有办法让 nginx 自动补全路径呢? 这两天折腾很久,才实现了这样一个功能: 请求 /a/b/c 若文件不存在,查找 /a/b/index.php,/c 作为 PATH_INFO: 若文件不存在,查找 /a/index.php,/b/c 作为 PATH_INFO: 若文件不存在,查找 /index.php,/a/b/c 作为 PATH_INFO: 若文件不存在,返回 404. 虽然这种损耗性能的行为不适合部署,但在本机调试

使用Apache OpenJPA开发EJB 3.0应用,第5部分: 实体标识的自动生成

数据的唯一性是所有应用程序非常基本的要求,由开发者或者用户来维护这种 唯一性存在着较大的风险,因此,由系统自动产生唯一标识是一种常见的做法. OpenJPA 中支持四种不同的实体标识自动生成策略: 容器自动生成的实体 标识: 使用数据库的自动增长字段生成实体标识: 根据数据库序 列号(Sequence)技术生成实体标识: 使用数据库表的字段生成实体标识 : 这四种方式各有优缺点,开发者可以根据实际情况进行选择. 可选择的注释 要让容器和数据库结合管理实体标识的自动生成,根据实际 情况的不同,开发

apache与nginx中的rewrite伪静态规则分析

1. Nginx Rewrite规则相关指令 Nginx Rewrite规则相关指令有if.rewrite.set.return.break等,其中rewrite是最关键的指令.一个简单的 Nginx Rewrite规则语法如下:    代码如下 复制代码 rewrite ^/b/(.*).html /play.php?video=$1 break;   如果加上if语句,示例如下:  代码如下 复制代码 if (!-f $request_filename) { rewrite ^/img/(.

Apache的ReWrite的应用

apache Apache的mod_rewrite是提供了强大URL操作的杀手级的模块,可以实现几乎所有你梦想的URL操作类型,其代价是你必须接受其复杂性,因为mod_rewrite的主要障碍就是初学者不容易理解和运用,即使是Apache专家有时也会发掘出mod_rewrite的新用途. 换句话说:对mod_rewrite,或者是打退堂鼓永不再用,或者是喜欢它并一生受用.上,一个资源会拥有多个URL,在实际应用和发布中应该被使用的是规范的URL,其他的则是简写或者是内部使用的.无论用户在请求中使