转静态页的几种可行方案

注:本文大部分内容来源www.netvtm.com,原作者:linyupark

对于文献发布系统来说SEO显得十分重要,当然现在转静态页也不是唯一优化的方式,但对于低智爬虫来讲静态页的优势很明显。下面来分析一下几种方案。

1.制作模板替换关键字符法很多站,包括本站上一个版本采用的就是这个方法。好处就是复杂性不大,缺点也很明显,实时交互性低,要提交一个评论可能就得让服务器重新生成一次文件,这种适用于纯粹信息发布,对于交互讲究不大的站。

2.利用服务器的组件进行请求地址的重定位用老外的话讲就是IIS URL reWrite。国内这方面的组件似乎很少,有些还是带病毒的。国外五花八门,但基本上好的都是收费的。这个技术主要是对服务器有一定的要求,所以用虚拟主机的朋友就不太管用了。它的好处是利用伪装的地址让搜索引擎认为它是个静态页(比如把asp?变成html/)因而达到"转静态"这个效果,而且还不失它原有的交互性。这个变化的过程靠的是正则表达式。

  当然它也是有缺点的,除了前面提到的费用问题外,它对服务器又有了负担,对于程序也需要做一些调整。简单说就是程序得把原有的动态地址换成事先设想好的伪静态地址,用户在请求这个伪静态地址的时候服务器又得根据正则表达式把这个地址转换成实际存在的动态地址。考验就在服务器承受和技术上。

3.使用CLASS来实现地址的即时转换本人现在用的这个CMS就是用了这个方法,可惜对PHP还没好好系统学习过,只能读出它是以根目录文件为出发点,依次将&=,?变成/符号。ASP还没见过实现类似功能的,非常可惜。。。

4.第一个方案+第二个方案最终内容页用模板替换,而索引使用伪静态,这样对服务器压力减少又能保持地址有效的静态化。

个人认为比较好的解决方案是第一个,其它的方案生成都只是伪静态,服务器的负载会比较大。不过方案要做些调整:对于一些通用的页面(比如列表,文章页)可以使用制作模板替换关键字符法,而像首页,频道比较复杂的页面则可以使用动态模板法。针对交互性的页面可以使用shtml页面的包含文件的功能,即每发表一次评论只用生成对应的评论页,或者要求低一点就套一个动态页面好了。

(0)

相关推荐

  • 转静态页的几种可行方案

    注:本文大部分内容来源www.netvtm.com,原作者:linyupark 对于文献发布系统来说SEO显得十分重要,当然现在转静态页也不是唯一优化的方式,但对于低智爬虫来讲静态页的优势很明显.下面来分析一下几种方案. 1.制作模板替换关键字符法很多站,包括本站上一个版本采用的就是这个方法.好处就是复杂性不大,缺点也很明显,实时交互性低,要提交一个评论可能就得让服务器重新生成一次文件,这种适用于纯粹信息发布,对于交互讲究不大的站. 2.利用服务器的组件进行请求地址的重定位用老外的话讲就是IIS

  • PHP动态页生成静态页的3种常用方法

    生成静态页的页面非常的简单就是定义好模板与模板标题,之后利用str_replace进行替换了,是最常用的方法,另一种是利用ob_get_contents输出获得然后生成html,还有一种不怎么推荐的是使用file_get_contents直接执行访问远程文件然后进行保存,性能极差. 具体方法简单说明如下: 1.使用文件函数得到静态页面的模板字符串,然后用str_replace函数将需要替换的东西替换了再写入到新的文件中. 2. 利用PHP的输出控制函数(Output Control)得到静态页面

  • asp.net 生成静态页笔记

    1.使用serever.Excute 复制代码 代码如下: StreamWriter sw = new StreamWriter(Server.MapPath("html/Login.html"), false); Server.Execute("ShowColumn.aspx?id=1&page=2", sw); sw.Close(); 2.替换字符 url重写 1.定义重写规则 urls.xml 变成urls.config 复制代码 代码如下: <

  • 使用ASP.NET模板生成HTML静态页面的五种方案

    ASP.NET模版生成HTML静态页面方案1: 复制代码 代码如下: /// < summary> /// 传入URL返回网页的html代码 /// < /summary> /// < param name="Url">URL< /param> /// < returns>< /returns> public static string getUrltoHtml(string Url) { errorMsg = &

  • 关于静态页生成问题 突破form数量限制

    我们知道生成静态页,一般用模板的方式,这个我是会的,现在我想直接将ASP文件生成的HTML代码存成静态页,这个非常适合做首页,于时我在网上找这方面的内容,找到这个:<不用模板只用ASP+FSO生成静态HTML页的一个方法>:http://www.jb51.net/html/200609/984.htm,我试了一下,一般能办,但文件大时,就会出错,到底是什么原因呢?是textarea存储的文件有限制还是其他,反复上网查,同时在IECN发表帖子求助,我反复试验,发现是表单有限制,在网上找到了解决F

  • SpringBoot设置静态资源访问控制和封装集成方案

    背景 最近在着手公司框架优化及项目实际应用,原先方案是springboot+html前后端分离单独部署,后端人员兼职前端开发,后续产品线业务进行优化,面向企业使用部分由移动网站人员负责设计开发,内部配置后台管理还是由后端负责,随着框架不停迭代与使用的项目越来越多,项目升级框架变得十分麻烦,后端部分可以通过maven私服进行版本迭代,后台管理页面升级则需要进行各个项目拷贝,所以决定对框架进行整合,将后台管理页面与框架后端代码进行整合发布. 结构设计 框架打包后台管理相关标准资源及页面(框架publ

  • vue/react单页应用后退不刷新方案

    目录 引言 为什么麻烦 有坑的社区方案(以vue为例) 目前不错的方案 上效果图 vue中的实现 react中的实现 题外 该方案的优点 缺点 引言 前进刷新,后退不刷新,是一个类似app页面的特点,要在单页web应用中做后退不刷新,却并非一件易事. 为什么麻烦 spa的渲染原理(以vue为例):url的更改触发onHashChange/pushState/popState/replaceState,通过url中的pathName去匹配路由中定义的组件,加载进来并实例化渲染在项目的出口route

  • ASP.NET MVC使用RazorEngine解析模板生成静态页

    简述 Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项.在早期的MVC版本中默认使用的是ASPX模板引擎,Razor在语法上的确不错,用起来非常方便,简洁的语法与.NET Framework 结合,广泛应用于ASP.NET MVC 项目. 我们在很多项目开发中会常常用到页面静态化,页面静态化有许多方式,最常见的就是类似很多PHP CMS种使用的 标签替换的方式(如:帝国CMS.EcShop等),还有很多都是伪静态,伪静态我们就不做过多解释,通过路由或Url

  • 详解ASP.NET MVC 解析模板生成静态页(RazorEngine)

    简述 Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项.在早期的MVC版本中默认使用的是ASPX模板引擎,Razor在语法上的确不错,用起来非常方便,简洁的语法与.NET Framework 结合,广泛应用于ASP.NET MVC 项目. 我们在很多项目开发中会常常用到页面静态化,页面静态化有许多方式,最常见的就是类似很多PHP CMS种使用的 标签替换的方式(如:帝国CMS.EcShop等),还有很多都是伪静态,伪静态我们就不做过多解释,通过路由或Url

  • 生成静态页大全[ASP/PHP/ASPX]

    ASP生成静态网页的方法 随着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用ACCESS作数据库的更会深有体会,静态页加在搜索时,也会被优先考虑.互联网上流行的做法是将数据源代码写入数据库再从数据库读取生成静态面,这样无形间就加大了数据库.将现有的ASP页直接生成静态页,将会节省很多. 下面的例子是将.index.asp?id=1/index.asp?id=2/index.asp?id=3/这三个动态页面,分别生成ndex1.htm,index2.htm,index3.htm存在

随机推荐