138

私のすべてのアプリケーションは正常に機能していましたが、突然、IISの下のすべてのサイトがcss、イメージ、スクリプトをロードしていません。ログインページにリダイレクトします。

ログインすれば正常に動作します。例:mysite.com/Account/LogOn?ReturnUrl =%2fpublic%2fimages%2ficons%2f41.png

私のローカルマシンでは、ログインしなくても正常に動作します。

4

24 に答える 24

202

問題は、IISが静的コンテンツを提供していないことである可能性があります。静的コンテンツは次の場所で設定できます。 ここに画像の説明を入力してください

ソース:http ://adilmughal.com/blog/2011/11/iis-7-not-loading-css-and-image/

ウインドウズ10:

上記のダイアログのWindows10バージョン

于 2014-02-12T04:45:09.473 に答える
197

同じ問題が発生しました。WindowsServer2012R2のIIS8.5のASP.Net4.5にWebアプリケーションをインストールしたときに、認証されていないページでCSS、JS、およびイメージが読み込まれませんでした。

  1. 静的コンテンツの役割をインストールしました
  2. 私のWebアプリケーションはIISのwwwrootフォルダーにあり、すべてのWindowsフォルダーのアクセス許可はそのままでした(IIS_IUSRSを含むデフォルトのアクセス許可)
  3. CSS、JS、画像を含むすべてのフォルダーに認証を追加しました。
  4. Windows共有にWebアプリケーションフォルダーがあったので、@imran-rashidの提案に従って共有を削除しました

それでも、問題を解決したものは何もないようでした。そして最後に、匿名ユーザーのIDをApp Pool Identityに設定してみたところ、機能し始めました。

認証機能をクリックします 匿名認証を編集する アプリプールIDに変更

私は数時間頭を叩きました。この応答が私の仲間の開発者の苦痛を救うことを願っています。

なぜこれが機能しているのか本当に知りたいです。何かご意見は?

于 2015-04-02T10:53:40.873 に答える
20

同様のエラーが発生しました。コンソールは次のようになりました。

エラー

私の問題は、会社が1つのトップドメインを使用していて、サブドメインを使用していないため、サブフォルダーでサイトを実行していたことでした。このような:

host.com/app1

host.com/app2

私のコードは、ローカルホストでは正常に機能したが、app1またはapp2では機能しなかったスクリプトを含めると次のようになりました。

<link rel="stylesheet" type="text/css" href="/Content/css/font-awesome.min.css" />

~srcにチルダ記号を追加すると、すべてが機能しました。

<link rel="stylesheet" type="text/css" href="~/Content/css/font-awesome.min.css" />

~vsの説明/

  • /-サイトルート
  • ~/-アプリケーションのルートディレクトリ

/サイトのルートを返します(http://host.com/)、

~/アプリケーションのルートを返します(http://host.com/app1/)。

于 2016-11-14T13:27:14.507 に答える
18

web.configからstaticContentセクションを削除してみてください。

<system.webServer>
    <staticContent>
        ...
    </staticContent>
</system.webServer>
于 2016-06-29T13:34:54.943 に答える
15

これはあなたの質問に答えないかもしれませんが、私は新しいIISインストールで同じ症状で頭を悩ませてきました。CSS、JS、画像が表示されませんでした。「静的コンテンツ」の役割がIIS7.5にインストールされていないことが原因でした。

于 2013-07-30T17:17:01.323 に答える
8

web.configでWindows認証が有効になっている可能性があります。ローカルマシンでは、Windowsクレデンシャルが自動的に渡され、機能します。ライブサイトでは、匿名ユーザーとして扱われます(IE設定でこれを制御できますが、実際に何をしているかを理解していない限り、これを変更しないでください)。

これにより、次のことが発生します。

  • 明示的にログインする必要があります。
  • 認証されていないため、スクリプトやCSSなどのリソースはログインページで提供されません。

これは壊れているわけではなく、意図したとおりに機能していますが、これを「修正」するには、次のようにします。

  • ログインしたくない場合は、web.configで認証タイプを変更してください。
  • および/または認証ルールを指定するCSS、画像、スクリプトなどを含むディレクトリにweb.configを追加します。
于 2012-05-09T08:06:14.010 に答える
7

間違ったアクセス許可を継承するフォルダを移動するのは、Windowsのアクセス許可の問題でした。wwwrootフォルダーに移動し、iisユーザーにアクセス許可を追加すると、正常に機能し始めます。

于 2012-11-28T22:59:47.370 に答える
6

これをweb.configに追加します

<location path="Images">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>
于 2012-05-09T08:15:39.433 に答える
6

web.configファイルの構成セクションでこれを使用します。

<location path="images">
<system.web>
  <authorization>
    <allow users="*"/>
  </authorization>
</system.web>
</location>
<location path="css">
<system.web>
  <authorization>
    <allow users="*"/>
  </authorization>
</system.web>
</location>
<location path="js">
<system.web>
  <authorization>
    <allow users="*"/>
  </authorization>
</system.web>
</location>
于 2012-05-09T08:19:51.583 に答える
5

これは認証の問題です。私の場合、以下の手順で解決しました。1-IISマネージャーに移動し、左側のウィンドウでサーバールートを展開し、[サイト]ノードからWebアプリケーションを選択します。2-ホーム画面で、IISセクションに移動し、[認証]を選択します。3-匿名認証を有効にします。4-次に、[編集]を選択し、[匿名認証資格情報の編集]を[アプリケーションプールID]に設定します。

匿名認証クレデンシャル

于 2020-01-12T06:14:13.800 に答える
4

この問題は、IISがJS、CSS、画像ファイルなどの静的コンテンツをレンダリングしない場合に発生します。

この問題を解決するには、以下の手順に従う必要があります。

コントロールパネルに移動>Windowsの機能をオンまたはオフにする>インターネットインフォメーションサービス>ワールドワイドウェブサービス>一般的なHTTP機能>静的コンテンツ。

静的コンテンツがオンになっていることを確認します。

ビンゴ。そして、これで完了です。ページをハードリロードすると、すべての静的コンテンツを表示できるようになります。

于 2020-04-09T07:39:39.770 に答える
3

web.config私にとってこれを解決された問題に追加する

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true" >
      <remove name="UrlRoutingModule"/>    
    </modules>
</system.webServer>
于 2016-01-17T15:49:15.750 に答える
2

私の苦痛の時間は、web.configでMIMEタイプを定義することによるものでした。開発サーバーにはこれが必要でしたが、ローカルIISはMIMEタイプが重複しているため、これを嫌っていました... web.configからこれらを削除すると、js、css、および画像が読み込まれないという問題はなくなりました。

于 2017-07-29T22:49:19.197 に答える
1

私の場合、

IISはですべてをロードできますが、からlocalhostテンプレートファイルをロードできませんでしたapp.tag192.168.0.123

.tag拡張子がリストになかったためです。

IISMIMEタイプ

于 2015-12-17T11:04:39.703 に答える
1

これを修正するには:

インターネットインフォメーションサービス(IIS)に移動します

画像を読み込もうとしているウェブサイトをクリックします

[IIS]セクションで、[認証]メニューを開き、[Windows認証を有効にする]も選択します。

于 2016-01-06T14:29:24.073 に答える
1

実稼働サイトのコピーを操作するときにローカルホストテスト環境でサイトを開発するときに、過去に役立つと思った1つの提案。正規タグを必ずコメントアウトしてください。

  <!--<base href="http://www.example.com/">//-->
于 2016-05-07T07:02:24.490 に答える
1

上記のすべての解決策を試しても問題が解決しない場合は、ASP.NETのメソッドResolveClientUrl()の使用を検討してください。

例のスクリプト:

使用する代わりに

<script src="~/dist/js/app.min.js" ></script>

メソッドを使用する

<script src="<%= ResolveClientUrl("~/dist/js/app.min.js") %>" ></script>

これは私が助けていた友人のために働いた私の解決策でした!

于 2017-06-07T17:47:00.193 に答える
1

私はこれと同じ問題を抱えていました。私にとっては、IISのサーバーレベルでCache-Controlヘッダーがno-cache、no-storeに設定されていたことが原因でした。したがって、私のアプリケーションでは、以下をweb.configに追加する必要がありました。

<httpProtocol>
    <customHeaders>
        <remove name="Cache-Control" />
    </customHeaders>
</httpProtocol>
于 2019-02-01T09:02:07.743 に答える
0

これの考えられる原因の1つは、アプリケーションがポート443(標準SSLポート)で実行されることを想定しており、ポート443がすでに使用されていることです。Skypeがコンピューターで実行されているときに、開発者がアプリケーションを実行しようとしているときに、これに何度か遭遇しました。

信じられないことに、Skypeはポート443で動作します。これは私の意見では恐ろしい設計上の欠陥です。アプリケーションが443ではなく444で実行しようとしている場合は、Skypeをシャットダウンすると、問題は解決します。

于 2016-03-09T15:55:12.583 に答える
0

app.UseStaticFiles();このコードをConfigureメソッドのstarup.csに追加 しましたが、修正されています。

そして、このフォルダの許可を確認してください。

于 2018-10-31T06:16:37.887 に答える
0

画像の使用

@Url.Content("~/assets/bg4.jpg")

スタイルでこれを使用します

style="background-image:url(@Url.Content("~/assets/bg4.jpg"))
于 2018-11-21T15:02:58.023 に答える
0

私の場合、javascript、png、またはcssファイルがロードされていないときに、上記の回答のほとんどを試しましたが、どれもうまくいかなかったようです。

私はついに「リクエストフィルター」を見つけ、実際に有効/受け入れられたファイルタイプとして.js、.png、.cssを追加する必要がありました。

この変更を行うと、すべてのファイルが適切に提供されていました。

于 2020-02-19T17:13:12.750 に答える
0

ブラウザコンソールに403エラーが表示される場合は、MVCバンドル構成を確認してください。バンドル名は、プロジェクト内の既存のフォルダー名と一致してはなりません。

例えば。

bundles.Add(new StyleBundle("~/Content/css")...

...フォルダ構造$(ProjectDir)\ Content \ cssがプロジェクトに存在する場合、IISは既存のフォルダ内で存在しないバンドルコンテンツを検索しようとするため、IISで問題が発生します。

代わりに、次のようなものを使用してください。

bundles.Add(new StyleBundle("~/Content/cssbundle")...
于 2020-03-26T23:14:21.223 に答える
0

私はまったく同じ問題を抱えていて、すべての提案を試しましたが、何も得られませんでした。私に何時間もバグを犯した。いくつかの理由で、ISPがポート80をブロックしていることが判明しました。

アドバイス:トラフィックを確認してください。ポート80がローカル(ファイアウォールなど)と外部の両方で機能することを確認します。

于 2020-04-20T05:13:31.123 に答える