200

      Z-Blog分類標(biāo)簽全站靜態(tài)化方案

      時(shí)間: 2013-03-04 17:29:05   點(diǎn)擊數(shù): 148601   來源: 耐思智慧

      Z-Blog目前已經(jīng)實(shí)現(xiàn)了首頁和文章頁的靜態(tài)化,可以生成HTML文件,但是系統(tǒng)的分類頁、標(biāo)簽Tags頁、歸檔頁和作者頁都沒有實(shí)現(xiàn)靜態(tài)化,本文將講述一個(gè)非常簡單的方案,能夠自動生成各個(gè)分類頁、歸檔頁和Tags的靜態(tài)HTML頁面,以便用戶將網(wǎng)站遷移到Apache等不支持ASP的主機(jī)上。

      Z-Blog的分類頁、標(biāo)簽Tags頁、歸檔頁和作者頁都是調(diào)用catalog.asp這個(gè)文件,因此,修改這個(gè)文件,當(dāng)用戶調(diào)用該文件的時(shí)候,自動生成針對該頁面的HTML文件。如果訪客反復(fù)讀取這個(gè)文件,那么在一定時(shí)間范圍內(nèi),可以直接在文件開頭使用靜態(tài)文件,以達(dá)到節(jié)省系統(tǒng)資源的目的。

      具體的修改方法是,先在根下建立一個(gè)目錄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

      這樣,系統(tǒng)就會自動生成全部動態(tài)頁面的靜態(tài)HTML文件,并且在1小時(shí)內(nèi)不會重復(fù)生成,期間如果還有調(diào)用,則自動載入靜態(tài)HTML文件,以節(jié)省系統(tǒng)資源。

      經(jīng)過這番處理,Z-Blog的全部分類和Tags就都可以生成靜態(tài)HTML頁面了。

      經(jīng)過靜態(tài)化之后,就可以將Z-Blog全站都放在PHP+Apache的主機(jī)上了。具體方法是,配置Apache主機(jī),使其用php的方法解析asp,然后編輯catalog.asp這個(gè)文件,將其代碼修改為如下即可:

      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文件來實(shí)現(xiàn)同樣的功能,.htaccess文件的內(nèi)容如下:

      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

      上一篇:網(wǎng)頁設(shè)計(jì)核心內(nèi)容對視覺表現(xiàn)的影響 下一篇:常用四大博客程序安裝與評測

      旗下網(wǎng)站:耐思智慧 - 淘域網(wǎng) - 我的400電話 - 中文域名:耐思尼克.cn 耐思尼克.top

      耐思智慧 © 版權(quán)所有 Copyright © 2000-2025 IISP.COM,Inc. All rights reserved

      備案號碼: 粵ICP備09063828號  公安備案號: 公安備案 粵公網(wǎng)安備 44049002000123號  域名注冊服務(wù)機(jī)構(gòu)許可:粵D3.1-20240003 CN域名代理自深圳萬維網(wǎng)

      聲明:本網(wǎng)站中所使用到的其他各種版權(quán)內(nèi)容,包括但不限于文章、圖片、視頻、音頻、字體等內(nèi)容版權(quán)歸原作者所有,如權(quán)利所有人發(fā)現(xiàn),請及時(shí)告知,以便我們刪除版權(quán)內(nèi)容

      本站程序界面、源代碼受相關(guān)法律保護(hù), 未經(jīng)授權(quán), 嚴(yán)禁使用; 耐思智慧 © 為我公司注冊商標(biāo), 未經(jīng)授權(quán), 嚴(yán)禁使用

      法律顧問:珠海知名律師 廣東篤行律師事務(wù)所 夏天風(fēng) 律師

      主站蜘蛛池模板: 奇米精品一区二区三区在| 亚洲AV无一区二区三区久久| 精品国产亚洲一区二区在线观看| 日韩电影一区二区三区| 无码人妻精品一区二区蜜桃| 国产在线精品一区二区在线观看| 亚洲AV成人一区二区三区观看| 久久精品视频一区二区三区| 日韩人妻无码免费视频一区二区三区| 国产精品丝袜一区二区三区| 久久无码精品一区二区三区| 国产伦精品一区二区| 丰满爆乳无码一区二区三区| 少妇精品无码一区二区三区| 国产一区二区三区免费观在线| 精品人妻一区二区三区四区 | 午夜精品一区二区三区在线视| 蜜臀AV一区二区| 无码人妻精品一区二区三18禁| 曰韩精品无码一区二区三区| 无码精品人妻一区二区三区影院 | 国内偷窥一区二区三区视频| 国产精品无码一区二区在线观一| 国产精品久久久久一区二区| 日韩成人无码一区二区三区 | 精品国产免费观看一区 | 亚洲国产精品一区二区三区在线观看| 国产麻豆精品一区二区三区v视界| 亚洲国产综合无码一区二区二三区| 国产亚洲福利一区二区免费看| 精品无码综合一区二区三区| 亚洲色无码专区一区| 欧美一区内射最近更新| 日韩精品一区二区三区国语自制| 成人精品一区久久久久| 一区二区国产在线播放| 成人精品视频一区二区三区| 自慰无码一区二区三区| 亚洲bt加勒比一区二区| 国产主播在线一区| 国产萌白酱在线一区二区|