Можно ли использовать базовый тег HTML для разрешения виртуального каталога? - PullRequest
0 голосов
/ 16 июня 2010

У меня есть веб-приложение ASP.NET MVC, работающее в IIS в качестве веб-каталога; скажем, его путь что-то вроде http://mysite.com/subweb.

У меня есть вид, который обслуживает контент, полученный из CMS. Редактор CMS ввел некоторый контент, содержащий относительный путь к изображению image.

Это отлично работает на рабочем сервере, где сайт является корневым сайтом, но не на промежуточном сервере, где сайт является виртуальным каталогом под корневым сайтом

Путь должен быть image на рабочем сервере

и image на промежуточном сервере.

Можно ли использовать тег для разрешения этого пути к изображению?


<head>
<base href="http://mysite.com/subweb/" />
</head>

<html>
  <body>
    <img src="/images/imga.png" />
  </body>
</html>


Кажется, это не работает. Может кто-нибудь объяснить, почему или если это работоспособный подход? Я не хочу требовать, чтобы редактор контента знал о параметрах развертывания веб-сайта (который изменяется между UAT и производством).

Ответы [ 2 ]

2 голосов
/ 16 июня 2010

Попробуйте

   <img src="images/imga.png" />

, чтобы сделать его относительным URL. Конечно, это не так просто, редактор контента должен быть изменен. Но я верил, что это проблема. URL-адреса, начинающиеся с /, разрешаются из ... ( wonder * ) каталога верхнего уровня домена?

1 голос
/ 16 июня 2010

Базовый тег влияет только на относительные URL.Попробуйте изменить тег изображения:

<img runat="server" src="~/images/imga.png" />

Это будет работать даже в подкаталогах вашего приложения..Net разрешит "~ /" в корневой каталог вашего приложения.

...