0

我已将一对相关的 Web 应用程序部署到测试 IIS 7.5 服务器。IIS 管理器中的目录结构如下:

IIS7 目录结构

“许可”申请是通过http;“续订”应用程序通过 https。那部分工作正常。但是发生的事情(两个应用程序)是没有加载图像、Javascript 和 CSS。当我查看日志文件时,每个图像、Javascript 和 CSS 文件都会给出 404 错误。该站点的目录结构是这样的:

BEALicensingTest/
  lookup/
    (ASPX files, etc. are at this level)
    Content/
      (CSS is at this level)
      images/
        (images are at this level)
    Scripts/
      (Javascript files are at this level)
  renewal/
    (ASPX files, etc. are at this level)
    Content/
      (CSS is at this level)
      images/
        (images are at this level)
    Scripts/
      (Javascript files are at this level)

以下是其中一个应用程序的主 CSS 文件中的代码示例:

div#header
{
  background: #f7f3df url('../Content/images/banner.gif') no-repeat left top;
  height: 92px;
  min-width: 800px;
  width: 100%;
  position: relative;
}

<head>这是其中一个应用程序的母版页中的代码示例(来自该部分):

<link rel="stylesheet" type="text/css" href="../Content/BEA.css" />
<%-- jQuery includes --%>
<script type="text/javascript" src="../Scripts/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="../Scripts/jquery-ui-1.10.3.min.js"></script>
<link rel="stylesheet" type="text/css" href="../Content/themes/sunny/jquery-ui-1.10.3.custom.min.css" />

这是<img>来自 .aspx 文件之一的标签:

<img src="../Content/images/cc_logos_vertical.png" alt="credit card logos" width="88"
  height="170" style="float: right; padding-left: 5px;" />

如您所见,我对所有内容都使用相对路径。我也尝试过绝对路径(例如/Content/BEA.css)。

我已经检查了权限(根据https://serverfault.com/questions/260777/why-isnt-iis-serving-my-static-css-js-files上的类似问题,给定站点文件夹的 IIS_IUSRS 读取权限) ,确保启用了静态内容功能,并尝试按照IIS 7.5 no images css js 显示中所述更改 CAS 策略。我还尝试了http://www.paulirish.com/2010/the-protocol-relative-url/中所述的“协议相对 URL” 。我尝试过的没有任何区别。

我究竟做错了什么?

编辑:我做了更多实验,发现如果我像这样在应用程序子文件夹中添加所有图像、CSS 和 Javascript 引用:/lookup/Content/images/banner.gif它们/renewal/Scripts/jquery-1.10.2.min.js就开始工作了。因此,当我认为我使用的是绝对路径:/Content/images/banner.gif时,我真的没有。

但是,既然我已经更改了引用,图像等在我在 Visual Studio 2012 中调试时不会加载。我明白为什么,但是有什么办法可以让它同时工作吗?

4

0 回答 0