大天使的呼吸 » Blog Archive » iis下的正则表达式301转向及规则

iis下的正则表达式301转向及规则

文档 (天使学而思之) 作者 joay 日期 22-06-2009

TAG标签 : , , ,

买回了服务器后,安装的是windows2003+iis的设置,原因是对linux真的不熟,希望有机会能好好学学,因为那样的系统似乎更灵活。因为买的是独立服务器,所以没有带上ISAPI Rewrite,请了技术人员安装,他也半天没有搞定。

用了二个星期之后决定自己安装一下ISAPI Rewriteg,还有把以前的301转向给重新弄上去,上网查了很多资料,发现大多数资料里的ISAPI Rewriteg安装方法在我这儿都不成功,经过一天的努力终于搞定了,下面说说我的办法。

网上提到要安装ISAPI Rewriteg的时候都说用绿色版的,我用了不灵光,后来改成了直接到ISAPI Rewriteg官方网站去下载一个安装版的,一次性成功。

Snap6

进入官方网站后,点右上角的“download

Snap7

选择“Download ISAPI_Rewrite 3

Snap8

再选择Freeware!下载ISAPI_Rewrite 3的免费版

下载完成后安装,安装过程很简单,没有什么要说明的,安装好了之后,你可以在开始菜单中找到它

Snap9

打开“ISAPI_Rewrite Manager”

Snap10

因为使用的是免费版,所以只能对整个站点进行设置,这个设置将对你服务器上的所有网站生效,如果是正式版的话,将会对所有不同的网站进行单独的设置。

你可以直接点击“ISAPI_Rewrite Manager”里的Edit,也可以点击“Import form v2.0”可以将以前2.0的规则导入进来。因为我是第一次使用”ISAPI_Rewrite”所以就直接选择了Edit.

Snap11

它会弹出一个类似于记事本的编辑工具,你可以把你的“ISAPI_Rewrite”规则写进来,我经过多次测试终于搞定了在“ISAPI_Rewrite”的替换规则。

这里要注意的是在“ISAPI_Rewrite 3”版本下,如果要做301跳转,需要在行尾加上[NC,R=301]这样的字样。

还要注意匹配不要弄的太宽范,如果你的服务器上有超过一个网站的可要小心注意一下不同网站之间的规则了。

我是直接把以前的规则复制进来的(.htaccess),我一开始写成了“RewriteRule ^/([^/]+)/([^/]+)/(?:[^/].+-)(.+) http://www.d1999.com/$1/$2/$3[NC,R=301]”

发现它虽然能够成功做跳转,但是有一些图片文件无法打开了,仔细一看发现这一条规则的匹配太宽范了,我又把它改成这样“RewriteRule ^/([^/]+)/([^/]+)/(?:[^/].+-)(.+)html$ http://www.d1999.com/$1/$2/$3html [NC,R=301]”图片可以正常显示了,然后301跳转也正常。

如果你不加上行尾的[NC,R=301]也一行代码也是能够生效的,它的作用是对URL规则进行重写,而不是跳转,这样的话,你的网站就会在搜索引擎中出现二个内容完全相同的页面, 这对搜索引擎来说不是好事儿。

如果你喜欢这个文章,请点击这里订阅

E-mail订阅,请点击这里订阅

回复:

发布一条留言