使用 IIS Url 重写和 ARR 传递子域

Pass subdomain using IIS Url rewrite and ARR

我正在使用带有 AAR 3 和 URL 重写 2.0 的反向代理设置来更改域,如下所示:

App.mydomain.com/ -> localhost:8000/ Usersubdomain.mydomain.com -> localhost:8000/

基于子域,我需要对站点应用特殊行为(自定义品牌、显示隐藏功能等)

使用 AAR/URL Rewrite 我可以通过查询字符串或 header 将原始 url 或原始子域传递到本地主机服务器吗?

App.mydomain.com -> localhost:8000?原url=app.mydomain.com

您可以匹配规则条件中的任何域并在操作中引用它。在下面的规则中,{C:0} 匹配域:

<rule name="Pass domain" stopProcessing="true">
    <match url=".*" />
    <conditions trackAllCaptures="false">
        <add input="{HTTP_HOST}" pattern=".*" />
    </conditions>
    <action type="Redirect" url="http://localhost:8000?originalurl={C:0}" />
</rule>