惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
J
Java Code Geeks
Martin Fowler
Martin Fowler
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
博客园 - 【当耐特】
Y
Y Combinator Blog
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog
G
Google Developers Blog
博客园 - 三生石上(FineUI控件)
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
罗磊的独立博客
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 司徒正美

月光博客

AI编程从零开始:环境配置到开发调试-月光博客 母亲被保健品诈骗-月光博客 向身体低头,向岁月妥协:我的高血压“还债日记” -月光博客 月光博客电子书:《信息安全指南》 谷歌发布2025年度搜索排行榜 中国2025社会热点大事记 2025年十大流行语发布 7天3次,骗子骗走我母亲95万元 “技术男”设三重安全墙,母亲95万存款还是被骗走了 电信诈骗后的复盘:母亲的95万元,是怎么从手机银行里消失的 母亲被电信诈骗95万元的全过程 阿根廷警察被谷歌街景相机拍到裸照 网信办开展“清朗·整治恶意挑动负面情绪问题”专项行动 翟欣欣敲诈勒索案一审获刑12年 《绝命毒师》影评:力工觉醒后的梭哈至死 《人工智能生成合成内容标识办法》正式施行 用AI分析你的财务信息 腾讯子公司实习HR怒怼求职者后被开除 OpenAI发布最强模型GPT-5,免费向所有用户开放 用AI解构你的日记 用AI分析你的游戏偏好 用AI分析你的观影偏好 用AI分析你的听歌偏好 《白鹿原》人物分析:乱世浮沉中的人性剖析 乌托邦的捷径:让AI治理“失败国家” 苹果AI的“路径错误”:为什么它在大模型时代掉队了? 《暗黑破坏神3》第35赛季开荒指南 我对特朗普的看法 欧·亨利十大经典小说鉴赏 HBO电视剧《最后生还者》第二季影评
Z-Blog全站静态化方案
月光 · 2019-02-04 · via 月光博客

使用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耗费资源极低,因此可以实现低成本的网站发布。

Z-Blog全站静态化方案