【发布时间】:2013-03-22 16:17:10
【问题描述】:
根据问题,这是我想要实现的目标:
在 IIS (7) 中创建一个单独的网站节点,以托管已部署的 ASP.NET 4 MVC(和 Web API)应用程序。我想要一个单独的网站节点,例如在默认网站节点下的 IIS 中创建应用程序。这是为了对应用程序 web.config 拥有完整的权限,并且如果将 Web.config 放在某个子文件夹中,则不会受到限制。
假设我正在开发 IIS 服务器上进行部署。通常,网站节点将位于类似于
some.IP.addr.ess/的某个 URL。我希望网站位于类似some.IP.addr.ess/some/path/的 URL 上。这是为了让 Web 应用程序在部署到子文件夹时也可以正常工作。这也是因为我想在同一台服务器上部署另一个 Web 应用程序,并可以从some.IP.addr.ess/another/path/访问它。
为了澄清我混乱的要求 :) 我想要:
- 在服务器上运行的一个 IIS Web 服务器实例,具有一个 IP,可能还有一个域名。
- 在 IIS 实例中,有几个网站节点,每个应用程序一个。应用程序可以在 ASP.NET MVC/Web API 上运行。另一个应用程序可能正在 PHP 上运行。另一个可能是静态 HTML 页面。这里我说 application 是一个通用术语,不一定与 IIS 应用程序 相关。
- 如果服务器有一个 IP 地址,比如
123.123.123.123,则每个应用程序都应该可以通过123.123.123.123/MvcApp1、123.123.123.123/PhpApp2等 URL 访问。
我在网上搜索过,但可能我没有使用正确的术语:我总是得到关于如何在默认节点或虚拟目录中创建应用程序等的文章。然后我发现 this ASP.NET forum post 似乎说我不能。 ** 谢谢大家
编辑 -
追问问题的根源,如下:
我想引用具有不同 URL 路径的不同应用程序,例如IPaddress/Mvc1、IPaddress/Php2 等。
所有这些都是开发服务器所需要的,然后是测试和登台,而不是生产。因此,首先不会很快需要一个域。
我可以在子文件夹、虚拟目录或应用程序中使用应用程序和 Web.config,只要这不会妨碍彼此正常工作。例如。一个 ASP.NET 应用程序,旁边是一个具有自己的路由的 ASP.NET MVC、一个 ASP.NET Web API 和一个 PHP。
【问题讨论】:
-
你的问题比较混乱。您是否在问两个站点是否可以位于相同的 IP 地址,但使用两个不同的虚拟文件夹,但有两个不同的主机名,每个主机名在这些路径中解析为根??
-
我同意@MystereMan。您必须澄清您是否要在一个文件夹结构中托管多个站点。如果您只想要文件夹结构,使用自定义路由很容易完成。
-
感谢 cmets。我对问题进行了一些澄清,如果我还不清楚,请进一步询问。
-
@superjos - 你的理解是错误的。对身份验证模式或角色提供者或子应用程序中的任何类似内容没有限制。您可能需要考虑一些因素,但不是限制。
-
@superjos - 只有在文件夹未设置为应用程序时才会出现该错误。如果您希望文件夹拥有自己的应用程序域,则它必须是应用程序。
标签: asp.net-mvc iis asp.net-mvc-4 iis-7