関連する Web アプリケーションのペアをテスト用の IIS 7.5 サーバーに展開しました。IIS マネージャーのディレクトリ構造は次のようになります。
「ライセンス」アプリケーションは 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 でデバッグしているときに画像などが読み込まれません。理由はわかりましたが、両方の方法で動作させるためにできることはありますか?