伪静态网页

来源:百度文库 编辑:神马文学网 时间:2024/04/28 05:00:14
e网轻歌 >日志 >电脑作坊
2008-11-11 | 伪静态网页

标签:网页 伪静态 动网论坛 ISAPI Rewrite
一般来讲,网站的页面分为静态页面和动态页面两种,静态页面的文件扩展名一般为.htm或.html,动态页面的文件扩展名一般为.asp、.aspx、.php、.jsp或.shtml等等。
一、为什么要设置伪静态页面
伪静态页面是相对静态页面而言,是一个伪装成静态页面的动态页面,例如将http://youname.com/index.php?a=1&b=2的页面用http://yourname/index-htm-1-2.htm来表示。伪静态页面有两个好处,首先是对搜索引擎友好,google的站长指南中有说,每个页面至少要有一个静态地址可以访问,伪静态URL可以当作URL来使,同样内容的页面,在搜索引擎来看,静态地址要比动态地址权重高,因为搜索引擎认为动态地址不稳定,而且容易陷入链接的死循环,动态页面是搜索引擎优化的大忌。其次,伪静态页面可以将页面地址伪装成很短的地址,如上面的地址,可以设置成伪静态地址http://yourname/1/2,便于访问者识别,对访问者友好,从心理学角度,用户更喜欢访问http://yourname/1/2的网址,而不喜欢访问http://youname.com/index.php?a=1&b=2的网址。
动态网页的伪静态技术
由于搜索引擎还无法正确读取带参数的动态网页内容,造成网页中很多具有丰富信息的页面无法给搜索引擎收录,现在很多大型的网站都采用了动态网页生成静态网页的技术,消除动态网页中的参数,使搜索引擎收录更多的内容,达到优化的效果,(需要了解asp.net生成静态网页的技术,请看本站的asp.net批量生成静态网页)。生成静态网页确实可以很好的解决搜索引擎收录的问题,但是可能又遇上了量一个问题,就是随着网站数据的增多,生成的静态网页占了很多的空间,管理起来也不是很方便,会造成大量的磁盘空间开销,现在该怎么办呢?再继续买更大的网络空间来存放这些数据?还是放弃这个方法呢?:-),还好,聪明的程序员又想出了新的解决方法,这个就是动态网页伪静态技术了,为什么说是伪静态呢?是因为这个并不是真正的静态网页,而是通过某些技术,把网页的url重写,同样是消除了动态网页中的参数,但是并不需要生成任何网页,不必要另外占用新的磁盘空间,但是能给搜索引擎看起来像是一个静态的网页,以达到静态网页同样的效果。
静态页面的优点是访问速度快,但缺点是内容更新不方便,而且不能实现网站与用户之间的交互。
动态页面根据其功能可以分为交互式动态页面和广播式动态页面。交互式动态页面在功能上一般来讲是静态页面代替不了的,而广播式动态页面在功能上与静态页面相似,只是单向地向用户展现网页的信息,在功能上是可以用静态页面代替的,采用广播式动态页面的目的是通过脚本实时从数据库中读取信息生成网页内容,在程序开发及信息发布上都非常方便,但缺点是并发性差,因为用户每次访问时均需要访问数据库,而页面的内容却可能一个月都不会更新一次,这对于网站的经营者、ISP运营商和用户来讲,都没有好处,因此只适用于访问量很少的网站,通常大型网站都是通过网页发布系统及设计相关网页模板来生成静态页面,但这种方法的问题是成本太高(通常网页发布系统的价格都比较昂贵),而且网页模板的设计又不符合通常的动态页面脚本编程习惯,很难为小型网站的开发所使用。
以下介绍一种提高网站的访问速度的伪静态页面技术,它在形式上是对广播式动态页面进行优化,性能上可以接近或达到网页发布系统的效果。
二,动网论坛如何生成伪静态网页
ISAPI Rewrite的安装与使用
Wikipedia,自由的百科全书
ISAPI_Rewrite是一个强大的基于正则表达式的URL处理引擎。它非常类似于Apache's mod_Rewrite,但它是专为IIS设计的。
ISAPI_Rewrite有两个版本:ISAPI_Rewrite Full与ISAPI_Rewrite Lite。
ISAPI_Rewrite Lite是免费版本,但不支持反向代理功能。
ISAPI_Rewrite Full只能下载到30天的试用版本。
首先到 http://www.helicontech.com/download/ 下载一个ISAPI Rewrite的安装包,Lite免费版本ISAPI_Rewrite Lite (freeware)即可。
安装运行后,打开管理工具中Internet信息管理(IIS管理),在网站单击右键选属性,IIS的ISAPI设置中加入ISAPI_rewrite lite安装目录的ISAPI_Rewrite.dll。

按照默认安装的位置,可以在 C:\Program Files\Helicon\ISAPI_Rewrite 找到 httpd.ini 在此文件中输入Rewrite的规则即可。
找到它的安装目录,一般在C:\Program Files\Helicon\ISAPI_Rewrite下
找到httpd.ini文件,打开它,在文本后面加上如下代码:
# 重写index.asp
RewriteRule /index_(\d+)_(\d*)_(.*)_(\d*)\.html /index\.asp\?boardid=$1&topicmode=$2&list_type=$3&page=$4 [N,I]
RewriteRule /index_(\d+)_(.*)_(\d*)_(.*)_(\d*)\.html /index\.asp\?boardid=$1&action=$2&topicmode=$3&list_type=$4&page=$5 [N,I]
RewriteRule /index_(\d+)_(.*)_(\d*)_(\d*)\.html /index\.asp\?boardid=$1&action=$2&topicmode=$3&page=$4 [N,I]
RewriteRule /index_(\d+)_(\d*)_(.*)\.html /index\.asp\?boardid=$1&page=$2&action=$3 [N,I]
RewriteRule /index_(\d+)_(\d*)\.html /index\.asp\?boardid=$1&topicmode=$2 [N,I]
RewriteRule /index_(\d+)_(\d*)_\.html /index\.asp\?boardid=$1&page=$2 [N,I]
# RewriteRule /index_(\d+)__\.html /index\.asp\?boardid=$1 [N,I]
RewriteRule /index_(\d+)\.html /index\.asp\?boardid=$1 [N,I]
RewriteRule /index\.html(.*) /index.asp [N,I]
# 重写dispbbs.asp
RewriteRule /dispbbs_(\d+)_(\d*)_(\d*)_skin(\d*)_(\d*)_(\d*)\.html /dispbbs\.asp\?boardid=$1&replyid=$2&id=$3&skin=$4&page=$5&star=$6 [N,I]
RewriteRule /dispbbs_(\d+)_(\d*)_(\d*)_skin(\d*)_(\d*)\.html /dispbbs\.asp\?boardid=$1&replyid=$2&id=$3&skin=$4&star=$5 [N,I]
RewriteRule /dispbbs_(\d+)_(\d*)_(\d*)_skin(\d*)\.html /dispbbs.asp\?boardID=$1&replyid=$2&ID=$3&skin=$4 [N,I]
RewriteRule /dispbbs_(\d+)_(\d*)_(\d*)_(\d*)\.html /dispbbs.asp\?boardID=$1&ID=$2&page=$3&star=$4 [N,I]
RewriteRule /dispbbs_(\d+)_(\d*)_(\d*)_(\w+)\.html /dispbbs.asp\?boardID=$1&ID=$2&page=$3&move=$4 [N,I]
RewriteRule /dispbbs_(\d+)_(\d*)_(\d*)\.html /dispbbs.asp\?boardID=$1&ID=$2&page=$3 [N,I]
RewriteRule /dispbbs_(\d+)_(\d*)\.html /dispbbs.asp\?boardID=$1&ID=$2 [N,I]
# 重写dv_rss.asp
RewriteRule /dv_rss_(.*)_(\d+)_(\d+)_(\d+)_(\d+)_count(\d+)\.html /dv_rss.asp\?s=$1&boardid=$2&id=$3&page=$4&star=$5&count=$6 [N,I]
RewriteRule /dv_rss_(.*)_(\d+)_(\d+)_(\d+)_(\d+)\.html /dv_rss.asp\?s=$1&boardid=$2&id=$3&page=$4&star=$5 [N,I]
RewriteRule /dv_rss_(.*)_(\d+)_(\d+)_(\d+)\.html /dv_rss.asp\?s=$1&boardid=$2&id=$3&page=$4 [N,I]
RewriteRule /dv_rss_(.*)_(\d+)_(\d+)_count(\d+)\.html /dv_rss.asp\?s=$1&boardid=$2&page=$3&count=$4 [N,I]
RewriteRule /dv_rss_(.*)_(\d+)_(\d+)\.html /dv_rss.asp\?s=$1&boardid=$2&page=S3 [N,I]
RewriteRule /dv_rss_(.*)_(\d+)\.html /dv_rss.asp\?s=$1&boardid=$2 [N,I]
RewriteRule /dv_rss_(.*)\.html /dv_rss.asp\?s=$1 [N,I]
RewriteRule /dv_rss(.*)\.html(.*) /dv_rss.asp [N,I]
好了,这时保存一下,把这个httpd.ini文件上传至你的空间根目录下,就行了。大功告成一半。、
接下来,把8.2里面的CONN.asp文件进行修改一下,修改IsUrlreWrite=0 改为 IsUrlreWrite=1
至此,动网论坛已经编程伪静态网页了。