【问题标题】:Handle the httpmodule in iis处理iis中的httpmodule
【发布时间】:2012-01-12 20:50:29
【问题描述】:

如果您看到 yahoo 网站,当您输入 www.yahoo.com 时,yahoo 服务器会获取您的 IP,并将您重定向到特定域(yahoo.ca、yahoo.us、....)

现在,我想这样做,不是针对特殊站点,我想将任何请求发送到 iis (www.1.com,www.2.com,www.3.com) 并使用算法将用户重定向到新站点,例如:

 Request: www.1.com GO To -> www.yahoo.com
 Request: www.2.com GO To -> www.google.com
 ....

我想处理 IIS,没有每个 webconfig 的站点。

谁能帮帮我?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    实现 IHttpModule 你可以这样做,我按照本指南做了类似的(不完全是):

    http://www.stardeveloper.com/articles/http-module-to-redirect-requests-from-root-domain-to-www-subdomain/

    使用page,您可以找到请求的来源国家

    page中的另一个解决方案

    【讨论】:

    • 谢谢 Jadarnel,这是我的第一个问题。
    • 但是,当您想为一个网站执行此链接时,此链接很有用,但我想为所有网站都执行此操作,非常严重。我需要在 iis 级别处理 http 模块,没有应用程序。
    • 我不太确定该怎么做,但是使用上面的指南,您可以将模块作为独立的 dll 添加到每个 Web 应用程序中,顺便说一句,您需要发布您的网站在那些服务器上,不是吗?
    • 是的。我需要在 IIS 上处理 hhtpmodule,而不是每个网站。
    • +1 获取 stardeveloper 设置的有趣链接。 OP 可以免费采用这条路线 :-) 缺点是需要在每个应用程序中安装、调用和管理模块,以及仔细配置它们的域设置。
    【解决方案2】:

    除了 Afshin 的回答与发现用户的地理位置also look at this.

    不幸的是,HTTP 模块只能在网站级别工作;要执行您需要的操作,您必须查看 ISAPI_Filters

    请参阅http://msdn.microsoft.com/en-us/library/ms972974.aspx 了解更多信息。

    我们最终购买了从该页面链接的产品; ISAPI Rewrite

    【讨论】:

    • 老实说,安装 ISAPI 比 httpmodule 容易吗?知道您需要安装 Web 应用程序这一事实...
    • 使用 ISAPI 过滤器更容易管理,因为它是服务器范围的。但是,您可以使用单独的 ASP.Net 应用程序执行此操作,但您会增加每个附加应用程序的负载,必须管理每个应用程序中的模块,并且还必须在您创建的每个子域中执行此操作。
    • 我注意到 ISAPI Rewrite 提供了 LITE 版本。这可能值得查看文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2010-10-01
    • 2014-12-25
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    相关资源
    最近更新 更多