一、用到的相关技术关键词:PHP, Apache,
mod_rewrite (RewriteCond,RewriteRule)地址重写,
ob系列函数缓冲
file_put_contents生成html
二、流程:用户发出请求url?id=x ,判断文章是否存在
(1)存在则直接转到对应的Html页面。
(2)不存在通过php读取数据库数据,然后生成html文件,并存放到指定目录。
三、实现方法:
(1)地址重写用Apahce的mod_rewrite模块中的RewriteRule指令实现重写(mod_rewrite的开启和简单规则见本博另一篇http://hi.baidu.com/alex%5Fwang5 ... 0346ffb3fb952e.html )。
(2)判断文章是否存在用Apahce 的mod_rewrite模块中的RewriteCond指令
(3)生成html文件:
ob_star()打开缓冲,将读取文章的php包含进来,然后用file_put_contents将获得的缓冲内容写入指定HTMl文件。
四、代码
/Test 目录下的 .htaccess 文件内容:
RewriteEngine On
RewriteRule ^index.html$ /news.php [L]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^html/news_([0-9]+).html$ getnews.php?id=$1 [L]
对news.php的访问将通过 localhost/Test/index.html 实现由第二句 RewriteRule ^index.html$ Test/news.php [L] 实现
news.php =============================> news.php将列出文章标题链接。
<?php
header("Content-Type:text/html; charset=gbk"); //以防出现乱码
mysql_connect("localhost","root","");
mysql_query('SET NAMES gbk'); //我的数据库用的gbk编码,请根据自己实际情况调整
mysql_select_db("test");
$sql = "Select `id`,`title` FROM `arc` order by `id` DESC";
mod_rewrite (RewriteCond,RewriteRule)地址重写,
ob系列函数缓冲
file_put_contents生成html
二、流程:用户发出请求url?id=x ,判断文章是否存在
(1)存在则直接转到对应的Html页面。
(2)不存在通过php读取数据库数据,然后生成html文件,并存放到指定目录。
三、实现方法:
(1)地址重写用Apahce的mod_rewrite模块中的RewriteRule指令实现重写(mod_rewrite的开启和简单规则见本博另一篇http://hi.baidu.com/alex%5Fwang5 ... 0346ffb3fb952e.html )。
(2)判断文章是否存在用Apahce 的mod_rewrite模块中的RewriteCond指令
(3)生成html文件:
ob_star()打开缓冲,将读取文章的php包含进来,然后用file_put_contents将获得的缓冲内容写入指定HTMl文件。
四、代码
/Test 目录下的 .htaccess 文件内容:
RewriteEngine On
RewriteRule ^index.html$ /news.php [L]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^html/news_([0-9]+).html$ getnews.php?id=$1 [L]
对news.php的访问将通过 localhost/Test/index.html 实现由第二句 RewriteRule ^index.html$ Test/news.php [L] 实现
news.php =============================> news.php将列出文章标题链接。
<?php
header("Content-Type:text/html; charset=gbk"); //以防出现乱码
mysql_connect("localhost","root","");
mysql_query('SET NAMES gbk'); //我的数据库用的gbk编码,请根据自己实际情况调整
mysql_select_db("test");
$sql = "Select `id`,`title` FROM `arc` order by `id` DESC";







