伪静态
&">nbsp; 顾名思义, 伪静态是相对真实静态来讲的.
通常我们为了更好的缓解服务器压力,和增强搜索引擎的友好面.都将文章内容生成静态页面.
但是有的朋友为了实时的显示一些信息.或者还想运用动态脚本解决一些问题.不能用静态的方式来展示网站内容.
但是这就损失了对搜索引擎的友好面.怎么样在两者之间找个中间方法呢,这就产生了伪静态技术.
就是展示出来的是以.html一类的静态页面形式,但其实是用ASP一类的动态脚本来处理的.
我的一个思路是用IIS的404错误处理机制来实现的.这个比rewrite技术要灵活得多.
首先,设置站点属性-自定意错误
找到HTTP错误404,然后编辑属性->消息类型选中URL->URL填入“/index.asp”,或您的错误处理页面.
这样,比如用户或蜘蛛访问http://tech.todo.net.cn/12345.html 时(12345为文章在数据库的ID).由于些页面不存在,所以触发了404错误.转向了index.asp
在index.asp里加
CurrDomain=Request.ServerVariables("HTTP_HOST") '当前访问域名
CurrURL=Replace(Request.ServerVariables("QUERY_STRING"),"404;http://"&CurrDomain&":80","") '当前访问URL
此时的CurrURL应该是:12345.html .
这样,就得到用户正在试图访问的页面.然后提取里边的文章ID(应该为:12345),用正则,这里就不多说了.
然后到数据库里提取出文章内容.输出到页面里,就OK了.
这样.用户或蜘蛛看到的URL还是他访问的URL.而我们对内容的处理上可以用到了动态技术.这就是我们想要的结果.
说得简单了一些.但是基本思路就是这样了.
因为行业原因,以下内容都是就SEO而言的。
【利】:
静态页面:可更好的缓解服务器压力,可增强搜索引擎的友好面及收录质量。
动态页面:可实时的显示信息,可灵活的运用脚本程序解决问题。
我们不难发现,对于SEO来说,动态页面不利于优化。
【弊】:
静态页面:空间储存量大,删除、更新这些HTML内容会导致大量的磁盘I/O操作以及大量的磁盘碎片,甚至出现磁盘坏道。
动态页面:会导致死循环,对搜索引擎不友好。
我们也不难发现,动态页面还是要被我们所放弃的。
但貌似这时候静态页面也不能讨好道哪去了。所以这时就衍生出了伪静态技术。
伪静态其实还是用动态脚本来处理,展示出以HTML一类的静态页面形式。
伪静态实现方法:
1、 使用ISAPI_Rewrite进行动态链接重写HTML静态网址。
2、 IIS的404错误处理机制:通过自定义错误,转向我们准备好的处理页。
PS:为什么搜索引擎会不喜欢带问号的网址?
以前动态网页就有这样一个漏洞,蜘蛛进去出不来了,称为“搜索机器人陷阱”。因为搜索引擎怕由于问号而进入死循环,所以很多时候带问号的地址搜索引擎是不会进去的,伪静态对于搜索引擎来说,因为地址中没有带问号,所以其效果也就和静态网页一样。
我们所有说的做的都是对SEO而言的,其最终目的就是增强搜索引擎的友好面。
但是伪静态也有其弊病。由于它是用正则判断,并不是真实地址。都是转向由CPU来判断,所以流量稍大一些就会出现CPU使用超负荷。
综上所述,大熊在这留下点小小的心得:
1、因为我们所做的是为了SEO,在排除动态页面的前提下,伪静态同样可以达到静态页面的效果,还可以避免静态页面解决不了的大量的磁盘I/O操作以及磁盘碎片问题。
2、伪静态大量使用会增加CPU负荷,而我们只需在提供给SEO的Archiver中使用伪静态就可以了。
3、那些没有高并发又很需要SEO,还需要可以后台动态更新的网站,伪静态是再也适合不过的。
原创文章转载请注明出处:(中国论文发表网)http://www.lunwen36.com。