【问题标题】:How to use host headers in IIS for a web application?如何在 IIS 中为 Web 应用程序使用主机标头?
【发布时间】:2015-11-16 18:26:25
【问题描述】:

我在 IIS 中配置了一个带有主机头的网站,这样我就可以调用 url customhostheader/ 并显示该网站。

当我尝试发布我的 web 项目时,我收到 web.config 中的某些部分注册为 allowDefinition=MachineToApplication 的错误。但我无法将网站转换为 IIS 中的应用程序。我只能将虚拟目录转换为 IIS 应用程序,但我不想要更长的 url http://customhostheader/virtualdirectoryname,我更喜欢只有 http://customhostheader

有什么想法可以做吗?

谢谢。

【问题讨论】:

  • 您无需添加新网站来托管您的代码。相反,您需要添加一个应用程序

标签: asp.net iis hostheader


【解决方案1】:

添加一个名为 customhostheader 的应用程序,该应用程序指向您发布的代码(bin 文件夹的父级)

这样做

  1. 在 IIS 中右键单击“默认网站”并选择“添加 应用”
  2. 将别名指定为 customhostheader 并提供应用程序的路径。


根据评论编辑

默认情况下,每个网站都包含一个应用程序。所以我们只需要确保网站的路径是正确的。

以下两点应该足以设置正确的路径

  1. 路径应该是 bin 文件夹的父目录
  2. web.config 应该存在于路径中

默认文件可以通过IIS或者web.config设置

【讨论】:

  • 如果我只是将它作为应用程序添加到默认站点,我无法通过 customhostheader.domain.com 访问它。
  • ok... 默认情况下 - 每个网站都包含一个应用程序 ('/') - 因此,如果您的网站指向正确的路径,它应该可以工作。您需要确保两件事:- 1. 路径应该是 bin 文件夹的父级。 2. web.config 应该存在于路径中。
  • 我发现问题出在 bin 和 obj 文件夹上。 Visual Studio 中的发布非常不稳定,有时它部署到之前选择的错误目的地或抛出异常目的地不是 IIS 中的应用程序。即使配置保持不变,错误也不总是弹出。因为我在每次发布之前删除了 bin 和 obj 文件夹,所以它可以工作。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-17
  • 1970-01-01
  • 2017-08-06
  • 1970-01-01
  • 1970-01-01
  • 2021-02-19
相关资源
最近更新 更多