一、用到的相关技术关键词: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文件内容: RewriteEngineOn
RewriteRule^index.html$/news.PHP[L]
RewriteCond%{REQUESTFILENAME}!-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将列出文章标题链接。
<div class="codetitle"><a style="CURSOR: pointer" data="28236" class="copybut" id="copybut28236" onclick="doCopy('code28236')"> 代码如下: