将子域名分配给 ASP.NET 应用程序的子文件夹

将子域名分配给 ASP.NET 应用程序的子文件夹

我有一个运行于的 ASP.NET Web 应用程序http://www.mydomain.com.我们想建立http://company.mydomain.com并将其指向 ASP.NET 应用程序的子文件夹。当我们这样做时,我们收到无法找到数据类型的错误,大概是因为它无法找到上一级的 /bin 文件夹。

我需要更改设置才能允许这样做吗?谢谢!

答案1

ASP.NET 确实不喜欢这种方式。最好的办法是设置一些 URL 重写或重定向,以将进入 subdomain.example.com 的流量推送到 example.com/whereyouwantthemtogo 。

如果您有 IIS7,您还可以设置 URL 重写以使 URL 按照您想要的方式显示,而不会与 ASP.NET 冲突,但我怀疑应用程序在使用此方法时会出现很多路径问题 —— 它会很难确定它是否在子 uri 中,也无法正确将路径映射到静态资源。

另一个选择是,如果文件夹中的代码不是 ASP.NET 应用程序的一部分,则将文件夹设为同级文件夹(即 /web/www 和 /web/subdomain),然后将虚拟目录和虚拟站点指向那里。

答案2

以前有一个设置允许这样做,但微软删除了它,因为它是一个巨大的安全漏洞。对于你的情况,你需要考虑在指向更高级别的 /bin 文件夹的子文件夹下创建一个虚拟目录。这样,访问 company.mydomain.com/bin 就会真正命中正确的代码。

如果 www.mydomain.com 的根目录为F:\Inetpub\wwwroot,则子文件夹为F:\Inetpub\wwwroot\subdom,bin 文件夹位于F:\Inetpub\wwwroot\bin,您需要在 company.mydomain.com 站点中创建一个指向 的虚拟目录F:\Inetpub\wwwroot\bin

相关内容