搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 月光博客 > Z-Blog全站静态化方案

Z-Blog全站静态化方案

月光博客 2020-07-27

使用Z-Blog ASP 2.3版本,可以很方便的实现全站静态化,包括目录和标签tag都静态化输出,这里就给出一个详细的实现方法。


这个方案可以实现全站的全部链接(文章页、列表页、分类页、标签页、作者页、分页等)全部实现静态以及伪静态HTML输出。平时频繁更新发布的时候,可以使用伪静态HTML方式,如果长期不更新内容,可以使用纯静态HTML方式,两种方式可以相互切换。纯静态HTML可以部署到各类免费虚拟主机上,实现低成本网站发布。


下面说一下具体实现方法:


首先服务器必须是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。


这样,整个系统就会将全部动态页面变成静态HTML文件,以节省系统资源。经过静态化之后,就可以将Z-Blog全站都放在只支持HTML的免费主机上了,因为HTML耗费资源极低,因此可以实现低成本的网站发布。编辑catalog.asp这个文件,将其代码修改为如下即可:


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《Z-Blog全站静态化方案》的版权归原作者「月光博客」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注月光博客微信公众号

月光博客微信公众号:williamlonginfo

月光博客

手机扫描上方二维码即可关注月光博客微信公众号

月光博客最新文章

精品公众号随机推荐