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)

アプリの 1 つのメイン CSS ファイルのコード サンプルを次に示します。

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

<head>アプリの 1 つのマスター ページのコード サンプル (セクションから) を次に示します。

<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 ファイルの 1 つからのタグを次に示します。

<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 shown で説明されているように 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