【问题标题】:ISAPI Rewrite - Multiple Sites On Same Web ServerISAPI 重写 - 同一 Web 服务器上的多个站点
【发布时间】:2011-06-03 18:38:13
【问题描述】:

我很难找到关于为位于一台 Web 服务器上的多个站点设置 ISAPI_Rewrite 规则的清晰/简洁的文档。我们需要每个站点都有自己的 httpd.ini 文件,该文件概述了自己的规则集。此外,每个站点可能使用不同版本的 ISAPI_Rewrite 模块(必须考虑到这一点)。我们使用的是 IIS 6.0。

有人对如何进行此操作有任何建议吗?

任何帮助将不胜感激!

谢谢,

-汤姆

【问题讨论】:

    标签: web-applications url-rewriting isapi-rewrite


    【解决方案1】:

    既然你提到了 httpd.ini,我猜你正在使用 isapi_rewrite v2。我建议在 IIS 6 上升级到 v3(对于 IIS 7 机器,helicon 强烈推荐我没有尝试过的“Ape”。)

    这里假设 isapi_rewrite v3 的付费版本;免费软件 Lite 版本不适用于此答案。

    在 v3 中,文件名为 .htaccess 而不是 httpd.ini

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

    对于模块的不同版本,我没有尝试安装两个版本,并且不确定是否可行。相反,v3 有一个 RewriteCompatibility2 指令,您可以在每个 .htaccess 文件中包含或省略它。这应该让您在某些网站上使用 v2 规则,同时在其他网站上使用 v3 规则。

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

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

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

    还有用于 VirtualHost、Directory、Location、Files 的指令。 此处概述:http://www.helicontech.com/isapi_rewrite/doc/context.htm。我不得不读了几遍,所以请阅读各个指令以获得更清晰的解释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-20
      • 2018-03-20
      • 1970-01-01
      相关资源
      最近更新 更多