ISAPI_Rewrite正式版(非lite版)无效的原因

2010-12-11 19:35| 分类:tech web开发| 标签: | 9,788 次点击

天~已经两个月没写博客了,基本都去Buzz和新浪微博了,博客的更新频率只会越来越低,如有兴趣,可以follow我的新浪微博:http://t.sina.com.cn/tsenfine ,或者follow Buzz:https://www.google.com/profiles/yi.chenfang。我自己也有数月没打开Google Reader了。

因多个web项目需要用到rewrite,而lite版只支持全局的,所以升级了ISAPI为正式第三版,信用卡付款,现在还没没扣款,也还未发注册码。不过有45天试用,先下来用用。

先是备份lite版的httpd.conf文件,然后卸载了lite版的,然后重装。安装好后发现新版确实好用多了,不仅可对单个网站rewrite,而且可对单个文件夹下的文件rewrite,方法跟apache下的.htaccess差不多。但测试了下却发现原来的rewrite规则全都失效了。

于是找原因,首先在自己博客上找,没想到在2008年12月10日和2009年年11月12日都出现过类似的问题,真让我怀疑江恩说的“循环”的存在 : )

ISAPI Rewrite/IIS Rewrite无效的可能原因  2008-12-10

新版ISAPI Rewrite (Rewrite3_0067_Lite)无效的原因 2009-11-12

ISAPI_Rewrite正式版(非lite版)无效的原因 2010-12-10

首先是按以前两篇博客的内容检查了一遍,从IIS的“web服务扩展”到NTFS权限设置都检查过,又是重启IIS又是重启服务器的,但仍旧不行。后来看安装文档中的帮助文件:

一、首先应该检查ISAPI rewrite是否有在运行,方法有两种,一种是根据安装文档中的帮助来检查:

Put the following lines into httpd.conf file:

RewriteLogLevel 9
LogLevel debug

This will create error.log and rewrite.log files by default in the installation directory. If log files are created, this will indicate that ISAPI_Rewrite is running.

另外一种是随便写个规则看有没有在执行来检查。

二、我检查出来是有在运行的,那么打开Helicon Manager.exe,可以直接修改站点根目录下的.htaccess,但我却忘了清空全局的httpd.conf,导致后来调试问题一堆。正确的方法是应该清空全局的,然后把需要的规则写入站点目录下的.htaccess下。

当然我两个站点,一个是可以的,一个却不行,看了帮助文件夹下的:

If rules are working in httpd.conf file but not in other sections or .htaccess files, make sure to include RewriteEngine on directive in every section and .htaccess file. Also remember that rewriting base inside .htaccess files by default is different from httpd.conf. ISAPI_Rewrite automatically strips the local directory prefix from the path when in .htaccess or <Directory> section and applies rules only to the remainder. So if your rules start with a ‘/’ character, this should be removed in .htaccess file in the root folder of web site.

原来是规则不一样,比如像以下这种

RewriteEngine on  
RewriteRule /(\d{1,20}) /product.jsp?pid=$1

需要改成:

RewriteEngine on

RewriteBase /
RewriteRule (\d{1,20}) /product.jsp?pid=$1

这可以去参考帮助文件中的Example。

总结,像这种比较普遍的错误,看软件自带的帮助CHM还是非常有用的,比google出来的更方便更权威。

相关文章

  1. 1条评论

  2. 日记网 2010-12-17 3:13

    这个不错哈

    [回复]

发表您的评论

您的昵称:
您的邮箱:(可选,不会被公布)
您的网站: