使用Z-Blog ASP 2.3版本,可以很方便的实现全站静态化,包括目录和标签tag都静态化输出,这里就给出一个详细的实现方法。 首先服务器必须是Windows Server 2008以上版本,安装IIS 7.5,启用URL重写模块。 之后安装Z-Blog 2.3,下载安装YT.Build插件。 YT.Build系统配置里选择“开启”。 在Z-Blog“静态管理中心”里,设置全局静态化选项为“1.文章静态 ”。 静态化配置参数如下: 文章的URL配置 {%host%}/{%post%}/{%id%}.html 页面的URL配置 {%host%}/{%alias%}.html 首页分页的URL配置 {%host%}/page/index.html 分类页的URL配置 {%host%}/cat/{%alias%}.html 作者页的URL配置 {%host%}/author/{%id%}.html TAGS页的URL配置 {%host%}/tag/{%alias%}.html 日期页的URL配置 {%host%}/date/{%date%}.html 点击“保存”后,系统会生成一个ReWrite文件,覆盖到根目录下的web.config文件。 作者页和日期页由于会生成大量重复文件,并且似乎的确也没什么用,因此可以在模板里将和其相关的代码都删除,我们只用分类页、标签页和首页分页即可。 静态化使用“ 1.文章静态”,因为文章页访问量较大,目录页和TAG页使用伪静态,如果进行主机迁移,则用YT.Build生成目录页和TAG页的html文件,然后就可以将全部html文件部署到另一台主机上。如果遇到突发大流量,可以用YT.Build生成目录页和TAG页的html文件,然后将web.config里的重写删除即可。 在静态化tag的时候,使用{%alias%}标签,系统依旧按照name来构建url,查看了一下,可能是Z-Blog代码的问题,于是做了如下修改。 修改c_system_lib.asp文件 将 Url =ParseCustomDirectoryForUrl(Tags(i).FullRegex,ZC_STATIC_DIRECTORY,"","","","","",Tags(i).ID,Tags(i).Name,Tags(i).EncodeName) 修改为 Url =ParseCustomDirectoryForUrl(Tags(i).FullRegex,ZC_STATIC_DIRECTORY,"","","","","",Tags(i).ID,Tags(i).Name,Tags(i).EncodeIntro) 此外,YTBuild的Tag也存在一样的问题,同样也是代码的问题。 修改YTBuild插件的YT.Lib.asp 将 UrlRules=ParseCustomDirectoryForPath(UrlRules,ZC_STATIC_DIRECTORY,"","","","","",jTag.ID,jTag.Name,jTag.Name) 修改为 UrlRules=ParseCustomDirectoryForPath(UrlRules,ZC_STATIC_DIRECTORY,"","","","","",jTag.ID,jTag.Name,jTag.Intro) 之后在tag里使用{%alias%}标签,即可正常生成url。
|