Z-Blog分類標簽全站靜態化方案

          Posted on 2012-06-11 11:56 天才 閱讀(164) 評論(0)  編輯  收藏


          天下數據(www.idcbest.com)從月光博客了解到的最新消息: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);

            }

          以上便是Z-Blog分類標簽全站靜態化方案文章的全部內容。


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 女性| 拉孜县| 朝阳市| 台南市| 仙游县| 丰都县| 麻江县| 东乡族自治县| 石河子市| 阳曲县| 平昌县| 乳山市| 朝阳县| 清涧县| 土默特右旗| 鸡泽县| 南江县| 会昌县| 神木县| 兖州市| 都兰县| 光泽县| 新田县| 贡嘎县| 阿勒泰市| 许昌县| 阳朔县| 佛坪县| 民丰县| 托克逊县| 屏东市| 正镶白旗| 孝义市| 瑞昌市| 杭锦后旗| 台东市| 绥宁县| 闽清县| 印江| 林芝县| 湖南省|