首页 > 解决方案 > Asp.net 将 url 重写为子域,在 Windows IIS 中使用通配符 DNS 记录不起作用

问题描述

我正在尝试将 IIS 中的 url 重写为子域。例如:

我有一个网页:http ://websitetrafficcheck.com/site.aspx?url=google.com

并尝试访问而不在 DNS 和 IIS 中创建真正的子域, http: //google.com.websitetrafficcheck.com

我找到了几个旧帖子,但无法解决。

如何在 asp.net 中将 URL 重写为子域而不实际在服务器上创建子域

如何在不使用 URL 重写在 asp.net 中添加 DNS 子域的情况下加载虚拟子域?

我已经安装了应用程序请求路由并启用了代理,还创建了通配符 DNS 记录。

我试图调试 global.asax 并查看是否有任何请求进入 asp.net 项目,但看起来 DNS 服务器没有发送到 IIS 或我的重写规则不起作用。附上截图。

这是我正在使用的重写规则:

<rule name="Rewrite subdomains">
          <match url="^/?$" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^(.+)\.websitetrafficcheck\.com$" />
          </conditions>
          <action type="Rewrite" url="http://websitetrafficcheck.com?url={C:1}" />
        </rule>

欢迎任何建议

在此处输入图像描述

编辑:当我尝试访问http://google.com.websitetrafficcheck.com时,Fiddler 显示“HTTP/1.1 304 Not Modified”

标签: asp.neturl-rewritingdnswildcard-subdomain

解决方案


推荐阅读