盘锦网站建设,盘锦做网站,盘锦网站设计,盘锦网页设计,盘锦网站制作,盘锦网络公司,盘锦网页制作,盘锦网站优化,盘锦网站推广,盘锦网站策划设计
设为首页  加入收藏  联系我们 日期:
博客登录 用户名: 密码: 注册
 
互动 博客 家园 相册 亲子乐园
媒体 盘锦直播 辽河晚报 盘锦论坛
汽车 盘锦违章 辽油违章 网上选号
娱乐 休闲游戏 热播剧集 高清影院
买卖 盘锦团购  房产 二手 消费指南
便民 人才 招聘 找工作 家政 教育
查询 医保帐户 汽车客运 公交线路 航空售票 列车时刻
电信 话费查询 3G上网卡 宽带测速 软件下载 网址大全
服务 网站建设 域名注册 空间租用 主机托管 成功案例
盘锦地区规模最大的网站建设机构 国家级网站建设资质
  首  页 自助建站 建站套餐 域名注册 空间租用 主机托管 成功案例 400电话 办公OA  
200

Z-Blog分类标签全站静态化方案

时间: 2013-03-04 17:29:05   点击数: 142792

Z-Blog目前已经实现了首页和文章页的静态化,可以生成HTML文件,但是系统的分类页、标签Tags页、归档页和作者页都没有实现静态化,本文将讲述一个非常简单的方案,能够自动生成各个分类页、归档页和Tags的静态HTML页面,以便用户将网站迁移到Apache等不支持ASP的主机上。

Z-Blog的分类页、标签Tags页、归档页和作者页都是调用catalog.asp这个文件,因此,修改这个文件,当用户调用该文件的时候,自动生成针对该页面的HTML文件。如果访客反复读取这个文件,那么在一定时间范围内,可以直接在文件开头使用静态文件,以达到节省系统资源的目的。

具体的修改方法是,先在根下建立一个目录cat,然后使用编辑器打开Z-Blog根目录下的catalog.asp文件,在文件开头加入如下的代码:

Dim objFSO
Dim objFile
Dim strFileName
Dim strFileTime
Dim isBuildFile
if Request.QueryString("cate")<>"" then
if Request.QueryString( "page")<>""then
strFileName = "cate" + "_" + Request.QueryString("cate") + "_" + Request.QueryString("page") +".html"
else
strFileName = "cate" + "_" + Request.QueryString("cate") + ".html"
end if
elseif Request.QueryString("tags")<>"" then
if Request.QueryString( "page")<>""then
strFileName = "tags" + "_" + Request.QueryString("tags") + "_" + Request.QueryString("page") +".html"
else
strFileName = "tags" + "_" + Request.QueryString("tags") + ".html"
end if
elseif Request.QueryString("auth")<>"" then
if Request.QueryString( "page")<>""then
strFileName = "auth" + "_" + Request.QueryString("auth") + "_" + Request.QueryString("page") +".html"
else
strFileName = "auth" + "_" + Request.QueryString("auth") + ".html"
end if
elseif Request.QueryString("date")<>"" then
if Request.QueryString( "page")<>""then
strFileName = "date" + "_" + Request.QueryString("date") + "_" + Request.QueryString("page") +".html"
else
strFileName = "date" + "_" + Request.QueryString("date") + ".html"
end if
elseif Request.QueryString("page")<>"" then
strFileName = "default" + "_" + Request.QueryString("page") +".html"
else
strFileName = "default_1" + ".html"
end If
isBuildFile = False
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(Server.MapPath(strFileName)) Then
Set objFile = objFSO.GetFile(Server.MapPath(strFileName))
strFileTime = objFile.DateLastModified
Set objFile = Nothing
If datediff( "h",strFileTime,Now()) > 1 Then
isBuildFile = True
Else
Server.Transfer strFileName
Response.End
End If
Else
isBuildFile = True
End If
Set objFSO = Nothing

找到 Response.Write ArtList.html 一行,在其后面增加如下代码:

If isBuildFile Then
ArtList.FileName=strFileName
ArtList.Directory= "cat"
ArtList.Save
End if

这样,系统就会自动生成全部动态页面的静态HTML文件,并且在1小时内不会重复生成,期间如果还有调用,则自动载入静态HTML文件,以节省系统资源。

经过这番处理,Z-Blog的全部分类和Tags就都可以生成静态HTML页面了。

经过静态化之后,就可以将Z-Blog全站都放在PHP+Apache的主机上了。具体方法是,配置Apache主机,使其用php的方法解析asp,然后编辑catalog.asp这个文件,将其代码修改为如下即可:

if (isset($_GET['cate'])) {
if (isset($_GET['page'])) {
$strFileName = "cate_".strip_tags(stripslashes(trim($_GET['cate'])))."_".strip_tags(stripslashes(trim($_GET['page']))).".html";
} else {
$strFileName = "cate_".strip_tags(stripslashes(trim($_GET['cate']))).".html";
}
} else if (isset($_GET['tags'])) {
if (isset($_GET['page'])) {
$strFileName = "tags_".strip_tags(stripslashes(trim($_GET['tags'])))."_".strip_tags(stripslashes(trim($_GET['page']))).".html";
} else {
$strFileName = "tags_".strip_tags(stripslashes(trim($_GET['tags']))).".html";
}
} else if (isset($_GET['auth'])) {
if (isset($_GET['page'])) {
$strFileName = "auth_".strip_tags(stripslashes(trim($_GET['auth'])))."_".strip_tags(stripslashes(trim($_GET['page']))).".html";
} else {
$strFileName = "auth_".strip_tags(stripslashes(trim($_GET['auth']))).".html";
}
} else if (isset($_GET['date'])) {
if (isset($_GET['page'])) {
$strFileName = "date_".strip_tags(stripslashes(trim($_GET['date'])))."_".strip_tags(stripslashes(trim($_GET['page']))).".html";
} else {
$strFileName = "date_".strip_tags(stripslashes(trim($_GET['date']))).".html";
}
} else if (isset($_GET['page'])) {
$strFileName = "default_".strip_tags(stripslashes(trim($_GET['page']))).".html";
} else {
$strFileName = "../default.html";
}
define("HTML_FILE",  dirname(__FILE__)."/".$strFileName);
if (file_exists(HTML_FILE)) {
echo(file_get_contents(HTML_FILE));
exit(0);
} else {
exit(0);
}

如果不想用PHP来处理,也可以直接配置.htaccess文件来实现同样的功能,.htaccess文件的内容如下:

RewriteRule ^(.*)/cat/?cate=(.+)&page=(.+)$ $1/cat/cate_$2_$3.html
RewriteRule ^(.*)/cat/?cate=(.+)$ $1/cat/cate_$2.html
RewriteRule ^(.*)/cat/?tags=(.+)&page=(.+)$ $1/cat/tags_$2_$3.html
RewriteRule ^(.*)/cat/?tags=(.+)$ $1/cat/tags_$2.html
RewriteRule ^(.*)/cat/?auth=(.+)&page=(.+)$ $1/cat/auth_$2_$3.html
RewriteRule ^(.*)/cat/?auth=(.+)$ $1/cat/auth_$2.html
RewriteRule ^(.*)/cat/?date=(.+)&page=(.+)$ $1/cat/date_$2_$3.html
RewriteRule ^(.*)/cat/?date=(.+)$ $1/cat/date_$2.html
RewriteRule ^(.*)/cat/?page=(.+)$ $1/cat/default_$2.html

上一篇:网页设计核心内容对视觉表现的影响 下一篇:常用四大博客程序安装与评测
互联盘锦网站 版权所有©2002-2012 0427.COM 本站E_mail:webmaster@0427.com
地址:辽宁省盘锦市兴隆台区鹤舞路1号 邮编:124010 本站客服热线:0427-3210427 3200427
本站长年法律顾问:北京英浩律师事务所 主任、高级律师:李海波 备案号:辽ICP备12007079号-2    
以下js为测试信息