Превъртях Stack Overflow нагоре и надолу, но, за съжаление, нито един от отговорите не ми помогна.
Имам уеб приложение, което работи перфектно на моя локален компютър, използвайки IIS, предоставено от Visual Studio, но когато разположа това приложение на сървъра, само CSS се показва правилно.
Структурата на папките за файлове е както следва:
- Root (this folder is named Knowledge Management on the server)
- CSS
- JS
- Медия
- Uploads
- Documents
- Изображения
- Потребители
Моят код, поне за главния раздел на основната страница, изглежда така:
<head runat="server">
<link href="/bgCSS/Style.css" rel="stylesheet" />
<script src="/JS/jQuery203Min.js"></script>
<script src="/JS/jQueryUI1103Min.js"></script>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
Браузърът обаче го генерира по следния начин:
<head>
<link href="/bg../../CSS/Style.css" rel="stylesheet" />
<script src="JS/jQuery203Min.js"></script>
<script src="JS/jQueryUI1103Min.js"></script>
<script src="/JS/HomeArticles.js"></script>
</head>
Проблемът е, че освен CSS, нито един от файловете в папката JS и нито един от файловете в папките и подпапката Media или Uploads не се генерира правилно.
Работата е там, че ако добавя "наклонена черта" пред атрибута src на изображението, изображението получава местоположение http://localhost/Media/Discussion.png
и ако не добавя "наклонена черта", тогава местоположението на изображението е http://localhost/Uploads/Users/HrvojeFadiga.jpg
, когато трябва да бъде http://localhost/Knowledge%20Management/Uploads/Users/HrvojeFadiga.jpg
Ето примерен код с изображения:
<div class="profileInfoWrapper">
<img src="/Uploads/Users/<%=article.User.PhotoLocation %>" />
<span class="postInfo">
<img src="/Media/Rating.png" /><%= GetArticleRating(article.idArticle) %>
</span>
<span class="postInfo">
<img src="/Media/Visitors.png" /><%= GetArticleViews(article.idArticle) %>
</span>
<span class="postInfo">
<img src="/Media/Comments.png" /><%= GetArticleComments(article.idArticle) %>
</span>
</div>
FYI, Global.asax не съдържа никакви правила за игнориране на файлови маршрути, освен за .axd файлове, които се добавят по подразбиране.