5

关于这个主题有很多主题说您不能将传入请求重写到 IIS 7 中的不同应用程序池(其中一篇文章是https://serverfault.com/questions/220007/iis-7-5-multiple-应用程序池和 url-rewriting-403-18-forbidden)。重定向将起作用,但该项目的要求是我们不能允许用户查看或搜索引擎来索引重定向的 Url。

所以问题是:本地服务器上是否有任何其他机制允许您在 IIS 有机会开始处理请求之前拦截请求?有点像过去的旧 ISAPI 过滤器。许多文章建议使用某种形式的 Http 代理或软件负载均衡器;这两个选项都有效,但可能会导致物理和虚拟资源的一些开销。回顾一下,主要目标是我们试图让来自 www.domain.com/(.*) 的请求被重写为 www.domain.com/{currentversion}/{R:1} 根 Web站点和版本化的 Web 应用程序是相互隔离的。

4

1 回答 1

0

我可能误会你了;但你想要一个反向代理?一种重写 URL 以避免搜索的方法;客户端正在生成页面资源,就好像它来自服务器一样。可以从IIS Rewrite Module.

尽管如此,您也许可以只创建两个完全独立的站点示例:

  • http://www.foo.com
  • http://www.foo.com/en
  • https://www.foo.com/en<-- 输入就像您正在转换到https.

这样一来,<sites>它们都指向一个单独的目录,然后它们都被作为单独的实体处理,因此您可以在该页面上创建被阻止的响应,以便在搜索引擎中找不到它

如果我的回答是关闭的;让我知道,我会删除它。但我认为这应该可行;理论上无论如何。Squid 和 Varnish 也是用于创建反向代理的应用程序

于 2012-12-12T22:44:30.010 回答