2011-06-03 55 views
0

我很难找到清晰/简明的文档,为设置生存在一个Web服务器上的多个站点的ISAPI_Rewrite规则。我们需要每个站点都有自己的httpd.ini文件来概述自己的规则集。此外,每个站点都可能使用不同版本的ISAPI_Rewrite模块(必须考虑这一点)。我们正在使用IIS 6.0。ISAPI重写 - 在同一台Web服务器上的多个站点

有没有人有关于如何去做这件事的任何建议?

任何帮助将不胜感激!

感谢,

-Tom

回答

3

既然你提到的httpd.ini,我猜你正在使用的ISAPI_Rewrite V2。我建议在IIS 6上升级到v3(对于IIS 7计算机,helicon强烈建议'Ape',我还没有尝试过。)

这里假设付费版isapi_rewrite v3;免费软件精简版版本不适用于这个答案。

在v3中,该文件名为.htaccess的替代的httpd.ini

每个网站都可以有自己的.htaccess文件,具有独立的规则。将每个文件放在每个网站的根文件夹中。

对于不同版本的模块,我还没有试过保留两个版本的安装,我不知道这是可能的。相反,v3有一个RewriteCompatibility2指令,可以在每个.htaccess文件中包含或省略。这应该允许您在某些网站上使用v2规则,而在其他网站上使用v3规则。

显然这使得v3与v2兼容,但不是100%的语法匹配。它们为现有规则提供翻译工具。我似乎记得它几乎没有改变任何东西。主要区别在于查询字符串参数处理 - 它在v2规则中是显式的,但在v3中单独处理。 (一旦完全转化为V3的规则更加简单得多。)

以上应该可以解决你的问题,但也有更复杂的配置也:

子目录也可以拥有自己的.htaccess文件,这些文件在父文件之后运行。我已经完成了一次处理指向“当前”数据文件夹。

还有虚拟主机,目录,位置,文件的指令。 概述在这里:http://www.helicontech.com/isapi_rewrite/doc/context.htm。我不得不多次阅读这些内容,因此请阅读各个指令以获得更清晰的解释。

+0

不客气 - 我的第一个回答! – goodeye 2011-07-04 23:49:00

相关问题