IIS 6上的IIRF拒绝服务器连接

我的客户有两个作为订阅服务运行的站点(称之为主站点和subsite站点)。 他们希望客户只有在主网站上有付费订阅才能访问subsite网站,所以任何直接访问subsite或不通过subsite访问的人都应该被redirect到主网站(购买订阅)。

我一直负责处理这个redirect,而且由于他们的服务器在带有IIS 6的Windows Server 2003上运行,我在subsite服务器上安装了IIRF(Ionic ISAPI Rewrite Filter)来处理重写和redirect。 subsite Iirf.ini文件包含以下内容:

 # Enable logging. RewriteLogLevel 1 RewriteLog D:\sites\subsite\Files\IIRFLog # Enable services. RewriteEngine ON StatusInquiry ON IterationLimit 5 # Redirect to main site. RewriteCond %{HTTP_REFERRER} ^https?://(?!mainsite)([-\w]*\.)(?!mainsite)\S*$ [I] RedirectRule ^(.*)$ http://mainsite.com/ # Add `www.` to URLs. RewriteCond %{HTTP_HOST} ^(subsite\.com).*$ [I] RedirectRule ^/(.*)$ http://www.subsite.com/$1 [I,R=301] # URL rewrites for WordPress pretty permalinks. RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/(.*)$ /index.php/$1 [L] 

(当然,主要和subsite取代了真正的域名。)

但问题是,当我在服务器上启用IIRF时,它完全停止提供页面(在Firefox中,给出的错误是服务器重置连接)。 没有redirect发生,没有日志文件写入给定的日志文件的位置。

根据捆绑的TestDriverTestParse程序,configuration是完全有效的,那么可能会出现什么问题?

事实certificate,当我们的服务器运行在64位版本的Windows Server上时,我们的IIS安装是以32位模式运行的。 运行Windows事件日志显示我们有64位版本的IIRF。 32位版本不会安装在我们的服务器(足够明智),所以手动安装得到它的工作。