IIS_rewrite伪静态设置方法

作者:佚名 来源:本站原创 点击数: 发布时间:2012年07月31日

一、为什么要设置伪静态页面
    伪静态页面是相对静态页面而言,是一个伪装成静态页面的动态页面,例如将的页面用来表示。伪静态页面有两个好处,首先是对搜索引擎友好,google的站长指南中有说,每个页面至少要有一个静态地址可以访问,伪静态URL可以当作URL来使,同样内容的页面,在搜索引擎来看,静态地址要比动态地址权重高,因为搜索引擎认为动态地址不稳定,而且容易陷入链接的死循环,动态页面是搜索引擎优化的大忌。其次,伪静态页面可以将页面地址伪装成很短的地址,如上面的地址,可以设置成伪静态地址,便于访问者识别,对访问者友好,从心理学角度,用户更喜欢访问的网址,而不喜欢访问的网址。
二、在IIS里如何设置伪静态
    在apache中可以比较方便地设置伪静态,在IIS中也可以设置伪静态。
在IIS中设置伪静态,首先需要下载一个ISAPI_rewrite软件,ISAPI_rewrite分为收费版和免费版两个版本,免费版就是ISAPI_rewrite lite,ISAPI_rewrite lite不能对站点进行独立的伪静态设置。但如果站点不多的话,可以通过配置不同的ISAPI_rewrite规则,实现多个站点的伪静态设置。
ISAPI_rewrite lite的官方下载地址为:, 什么?不懂英文?那就在baidu或google中搜一下“ISAPI_rewrite 下载”,找一个中文网站下载。
    下载后,上传到服务器,安装完成需要在站点的IIS的ISAPI设置中加入ISAPI_rewrite lite安装目录的ISAPI_Rewrite.dll,看到一个绿色向上箭头出现的时候,那么恭喜你,ISAPI_rewrite lite已经启动。
    ISAPI_rewrite lite启动后,再到ISAPI_rewrite lite的安装目录,打开httpd.ini文件,里面就是进行IIS rewrite规则的设置了。IIS rewrite设置使用正则表达式,不懂正则表达式,不要紧,参考一下下面的案例就会了。
三、举例说明配置IIS Rewrite规则
    例如动态域名形式为www.abc.com/index.php?a=articles&p=84,你现在看到的URL地址是www.abc.com/article/84
    设置方法是打开httpd.ini文件,加入一行下面规则,就可以了
RewriteRule ^(.*)/article/([0-9]+)$ textarea/index.php?a=articles&p=
其中表示 /article之前的所有内容(.*)保持不变,/article/用/index.php?a=articles&p=代替,其中是转义符。([0-9]+)表示数字字符,保持不变。于是就实现了将www.abc.com/index.php?a=articles&p=84伪静态为www.abc.com/article/11 的url了。
    有些时候有多个参数,也一样的,用,可以一直表示上去。
    例如要将(其中a1、b1、c1为可变的参数)伪静态为的静态地址,这个比较具有典型意思,包含了大都数的类型,lxblog就是属于这种类型的。
我们可以这样写IIS Rewrite规则:
RewriteRule ^(.*)-htm-a-([a-z0-9_]+)-b-([a-z0-9_]+)-c-([a-z0-9_]+.html)$ textarea.php?a=&b=&c=  
不会正则表达式的照猫画葫芦就可以了。
当然,在IIS Rewrite 设置完成,测试通过后,需要将你网站中,原先的动态链接改为静态链接,以便搜索引擎收录排名。