2009年2月24日星期二

ISAPI Rewrite 3 下载及常用 301 规则

isapi rewrite 3ISAPI Rewrite 是 IIS 下使用最广泛的 Rewrite 组件,有了这个组件就可以实现基本如 Apache 中 mod_rewrite 的功能,对于SEO来说,是在IIS中进行301重定向的基本装备。

现在网上传播的大多是较老的 1.3 版,建议使用最新的 ISAPI Rewrite 3,功能更完善,规则相对也灵活和丰富。ISAPI Rewrite 3 分为商业版和免费的 Lite 版,商业版可以在每个站点放置一个 httpd.ini 来单独设置规则,免费版只能将规则写到安装目录下的 httpd.conf 文件中,作用于全局。

ISAPI Rewrite 3 下载

ISAPI Rewrite 3 官方下载

樂思蜀做了一个 ISAPI Rewrite 3 Lite 的绿色版,文件较大传到 SkyDrive 上,点击这里下载。绿色版需要手动添加 ISAPI 筛选器,方法可以参考我之前写的 IIS Rewrite 配置

ISAPI Rewrite 3 几个常用 301 重定向规则

ISAPI Rewrite 不同版本的规则略有差别,这个帮助文件中有较详细的规则参考,附几个常用的写法:

下面的301规则仅适用于 ISAPI Rewrite 3,其他版本请勿使用!

1、将“domain.com”301重定向到“www.domain.com”
RewriteEngine on
RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^(?!www.)(.+)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .? http(?%1s)://www.%2%3 [R=301,L]

2、301重定向到另一个域名
RewriteCond %{HTTP:Host} ^www.llllllesishu.cn$
RewriteRule (.*) http://www.lesishu.net$1 [NC,R=301]

3、301重定向单个页面
RewriteRule ^/oldpage.htm$ http://www.lesishu.com/newpage.html [R=301,L]

各识别符(如:NC,R,L等等)就不列举说明了,可以下载上面的帮助文件或到这里查看。

7 条评论:

Raymond 说...

樂思蜀,你好,

我参照你之前的一篇文章,通过修改.htaccess文件来对网址做规范化.

现在出现的一个问题是,所有链接到www.mydomain.com都会跳转到www.mydomain.com/index.html,而我并不希望这样,
请教一下,下面的代码哪儿出错了吗?
============================================
rewriteEngine on
rewriteCond %{http_host} ^mydomain.com [NC]
rewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]

RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.mydomain.com/ [R=301,L]
=============================================

PS:我的其他几个站点,使用一样的代码,却没这个问题,我实在不明白错在哪了...

谢谢

林网博客 说...

个人服务器用免费版本就可;商业版本还是有很多必须功能的。

针对不同站点的防止外链指定,就需要商业版本功能。免费版本以前测试过,没用

樂思蜀 说...

就像你回复中那样,默认首页不正确,改成现在的,应该能解决的。

LXH 说...

这得有自己的服务器吧,我买的虚拟空间杂办。?

ryan 说...

iis的虚拟空间,支持httpd.ini,按博主说的,怎么不起作用?

John 说...

你好,这个rewrite是自己定义的么?还是有模板可以遵循?

chaos 说...

博主,你的绿色版下载失效了