|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
刚开始觉得自己对这些多少有些基础,很简单,但是看了老师那么熟练的进行网页布局的时候,突然之间发现,其实,我的基础并没有自己想像的那么好,自己设计的页面其实并不好看,就连表格的边框为1像素都不会弄。 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的过程做一下概括: |
|