странная проблема с сайтом публикации (изображения не отображаются после публикации)

Я разработал веб-сайт в ASP.Net 3.5. Когда я скомпилирую его с помощью Visual Studio на HOST-машине, веб-сайт отображается правильно! Но когда я публикую веб-сайт в папке хостинга веб-сайта на хост-компьютере, введите переход на сайт в IE, он отображается следующим образом:

  1. изображения не отображаются
  2. шрифты не распознаются

Кто-нибудь знает, в чем может быть дело?!

Я имею в виду ту же хост-машину! Тот же IE (версия 8)! Скомпилировав его с помощью Visual Studio 2008 на этом компьютере, все в порядке, но при вызове опубликованного сайта на том же хост-компьютере путем ввода URL-адреса в IE изображения не отображаются и шрифты не распознаются.


person gwt    schedule 01.09.2012    source источник
comment
Вы создали приложение в IIS?   -  person McGarnagle    schedule 01.09.2012
comment
@dbaseman Нет, я создал веб-сайт с помощью asp.net и опубликовал его в IIS.   -  person gwt    schedule 01.09.2012
comment
Тогда может в этом проблема. Вам нужно войти в диспетчер IIS, щелкнуть правой кнопкой мыши виртуальный путь и convert to application.   -  person McGarnagle    schedule 01.09.2012


Ответы (1)


Изображения/шрифты, которые не отображаются, являются признаком того, что ваши относительные пути отключены. Одной из распространенных причин этого является то, что вы забыли создать приложение IIS при развертывании. Если вы не создаете приложение, то пути к изображениям пишутся так:

~/content/images/img1.jpg

будет сломан. (Они будут разрешаться в mydomain.com/content/images/img1.jpg вместо mydomain.com/myapplication/content/images/img1.jpg.)

Другая возможность заключается в том, что ваши относительные пути записываются так:

/content/images/img1.jpg

Этот тип ссылки всегда будет разорван, если вы развернете его на любом подпути в домене. То есть, если вы развернетесь на mydomain.com, то ссылки будут хорошими, но если вы развернетесь на mydomain.com/myapplication, то URL-адреса, написанные как указано выше, будут разрешаться неправильно. как mydomain.com/content/images/img1.jpg.

person McGarnagle    schedule 01.09.2012
comment
Большое спасибо за ваш ответ, я написал свои изображения таким образом ‹img src=Images/Logo.png /› как мне их написать? Этот веб-сайт работает в локальной сети, и у меня есть IP-адрес, а не доменное имя! - person gwt; 01.09.2012
comment
@Karamafrooz, значит, вы загружаете сайт, вводя http://xx.xx.xx.xx/default.aspx? Или как? - person McGarnagle; 01.09.2012
comment
@Karamafrooz Хм... странно. Если перейти к xx.xx.xx.xx/images/logo.png, изображение отображается правильно? - person McGarnagle; 01.09.2012
comment
Да, когда я перехожу к xx.xx.xx.xx/IMages/Logo.png, изображение не появляется - person gwt; 01.09.2012
comment
@Karamafrooz вау, это странно. Что, если вы скопируете logo.png в ту же папку, что и default.aspx, то вы наверняка увидите изображение по адресу xx.xx.xx.xx/logo.png... верно? Если IIS действительно не обслуживает изображения, то все, о чем я могу думать, это то, что тип MIME для .png был каким-то образом удален. Извините, я немного в растерянности. - person McGarnagle; 01.09.2012
comment
Я вставил изображение в корневой каталог, и оно снова не появилось :( - person gwt; 01.09.2012
comment
Я пробовал Logo.jpg и не работал, так что проблема была не в png - person gwt; 01.09.2012
comment
давайте продолжим это обсуждение в чате - person McGarnagle; 01.09.2012