【问题标题】:Rewriting Subdomains in IIS在 IIS 中重写子域
【发布时间】:2011-12-07 03:38:01
【问题描述】:

我在 IIS 中重写一些东西时遇到了一些麻烦

这是我想要达到的目标。

我们有很多客户都需要一个子域。例如

http://clientA.mysite.com需要改写为http://mysite.com/clientArea/?clientID=1234

然后所有内容需要重写为http://mysite.com/clientArea/XXX

例如,如果有人请求 http://clientA.mysite.com/example.css ,则应将其重写为 http://mysite.com/clientArea/example.css

我这辈子都无法正常工作。

我认为我必须按照 2 条规则执行此操作。我想我有第一个规则工作类型(页面看起来很糟糕,因为它无法获取 JS 文件或 CSS 文件以使其看起来正确)

这是我将http://clientA.mysite.com 重写为http://mysite.com/clientArea/?clientID=1234 的第一条规则

<rule name="Rewrite Subdomain" stopProcessing="true">
     <match url="()" />
     <conditions>
         <add input="{HTTP_HOST}" pattern="^(?!www)clientA\.mysite\.com$" />
     </conditions>
     <action type="Rewrite" url="clientArea/?clientID=1234" appendQueryString="true" logRewrittenUrl="true" />
 </rule>

然而,我的第二条规则是,我不能去上班,所以任何关于这方面的帮助都会很棒

<rule name="Rewrite Everything Else after subdomain">
    <match url="(.*)" />
    <conditions>
       <add input="{HTTP_HOST}" pattern="^(?!www)clientA\.mysite\.com$" />
    </conditions>
    <action type="Rewrite" url="{R:0}" />
 </rule>

请求http://clientA.mysite.com/example.js 之类的内容会返回 404 错误。

感谢您的时间, 凯尔

【问题讨论】:

    标签: url-rewriting iis-7.5 subdomain


    【解决方案1】:

    您将入站和出站重写规则与应用程序请求路由模块结合使用。

    入站规则将子文件夹代理到子域内容。出站规则检查响应并将响应中子域的所有实例替换为您的子文件夹路径。

    【讨论】:

      【解决方案2】:

      如果您的站点有专用 IP 号码,您可以在 IIS 中将空的 http 绑定添加到您的站点(在 IIS 中右键单击您的站点 > 编辑绑定 > 添加)。然后在您的 DNS 配置中添加带有值的 DNS 'A' 记录:*。因此,对您 IP 的每次调用都将由您的站点维护。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-28
        • 1970-01-01
        • 2011-05-05
        • 1970-01-01
        相关资源
        最近更新 更多