静态html新闻页面,常见的首页静态新闻列表是如何生成的?

方法:把首页的静态页面也重新生成一个,让它指向你生成的新闻静态页访问地址。

其实你缺少的是一个整体的设计。你设计当初应该说要考虑好他们之间的关系。

我现在可以提供2种方法:

1.根据动态页访问地址和参数来命名静态页(也就是建立动态地址与静态地址的转换公式)

如:/user/userDetail.aspx?id=6这样的地址我转换后变成 /user/userDetail_id6.html

新闻/newsDetail.aspx?id=17&page=2转换成/newsDetail_id17_page2.html;

这样的话关系就确定了。当然这只是一种规则方式。

那么我们怎么让它对应起来呢?

好的,我们来看看:既然规则是我们定的,我们就可以写一个通用的公式来转换它,可以用正则表达式或专门的一个转换函数,当然正则是比较方便的。

这个方案的好处是,我只需要想好我的转换规则,我写代码的时候可以不考虑静态化的问题,我只需要写成动态的地址就可以,等编写代码完成了,一切收工正常后,我们再通过某种方式按我们想好的规则来转换成静态地址就可以了。

那通过什么方式来转换地址呢?

好的,再来看:我们以.net为例,如果我们想全站静态或部分静态,怎么让它自动批量做呢?

asp.net里面提供了我们切入点,我们定义自己的httphandler,让它来接管http的所有请求,这样我们可以大作文章了,我们可以把response在输出前全部替换掉,用什么方法?刚才上面提到过了,用正则表达式就可以办到。(这个地方要了解编写自己的httphandler怎么样去操作,很简单,你一搜一大堆)。到这一步我们可能做好地址的转换了,那静态页面从哪来呀?按规则生成呗。

那么生成静态页面可以怎么操作呢?

兄弟你可能会说:“噢!这个简单,我会的。”行,那最好,但是我这里还是给你推荐一种方式。就是接管400错误页,让它跳转到自己专门用来处理400错误的页面上来,那这个页面做什么呢?其实也简单,我们400的错误地址我们知道,会通过我们的接管地址通过url传递自动传递过来,我们最下来把地址判断下是不是aspx的动态页,是动态页接下来的事情就好玩了。“是什么?”,是什么还用说吗?为它生成一个静态页呗,“好的!这个我会,我来干”,”那行交给你了“,你有了这个页面的动态访问地址,静态页生成好了,行,下一步做的事情是什么,302跳转,让用户去看我刚生成的静态页面。好的,这个过程结束了,那我们回头来看下这个访问的对应过程是什么样的?第一步:用户从首页进来后我通过规则把内容上的aspx页全部接管后换成html的地址。第二步:用户点了我们生成的html地址,但第一次的时候这个页面还不存在,怎么办?还能怎么办?提示400错误呗,400错误那接着呢?第三步:被我们自定义的400错误页接管了,哈哈,还是逃不出我的手掌心呀,接着根据规则来生成我们想要的html页面,并把用户转到这个静态页,冰果!(下一次再有用户访问就不用急了,应该已经生成过了。哈哈)

好的,第一种方案就在这了,不过它带来什么问题呢?追踪更新不方便,当然你可以维护一组页面的标签,通过标签来控制相应的页面删除,让下一个用户访问的时候再生成一个不就更新了嘛,呵呵,具体的实现自己想,不难。

第二种方案:

“什么?”“要设置什么规则?”“不明白”,那好方法有两种,一种再把上面一种方案看十几遍,看懂为止,要么就看下面的介绍。

不用规则用什么,用数据库或其它持久化数据对应下总可以了吧,哈哈,那来吧。

数据库很简单,二个主要的字段 activePageUrl,staticPageUrl

很明确吧,就是一一对应起来存起来,每次我不用规则去找了,我去数据库里面去找,不管你静态页面叫什么名字,我都把你对应起来,当然这个的缺点是显而易见的,数据量会一天一天一天再一天的变大,而且它不智能,我把地址上的参数换下位置它就不认识了,哎太不灵活了。那其它的事情和第一种方案大同小异,自己去想吧。没事了,晚安!错了,是下午安,思床心切,不好意思,只能帮到这些,不管是不是你想要的,我半个小时没了,看在可怜的份上,给点吧!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值