При переносе приложений интрасети ASP.NET с IIS6 на IIS7 я столкнулся с проблемой с абсолютными URL-адресами в тегах html: я не могу заставить их рассматривать приложение как корень URL-адреса, если приложение не опубликовано в корневом каталоге. Веб-сайт.
Вот фрагмент кода, демонстрирующий проблему. Он публикуется в приложении в разделе «Веб-сайт по умолчанию».
Первые два изображения отображаются в браузере. В третьем нет:
<body>
<form id="form1" runat="server">
Absolute path using asp image control:
<asp:Image ID="Image1" runat="server" ImageUrl="~/images/image.png" />
Relative path using html img tag:
<img alt="Works just fine" src="images/image.png" />
Absolute path using html img tag:
<img alt="WTF?" src="/images/image.png" />
</form>
</body>
Все три изображения отображаются правильно при запуске на локальном хосте.
Проблема в том, что «/images/image.png» ищет каталог с именем «images» на веб-сайте по умолчанию, а не в приложении.
Есть ли способ настроить приложение так, чтобы его корень совпадал с корнем для URL-адресов html? Любая помощь в этом очень ценится!
- Крис