403を与えるMVC4スタイルのバンドル


98

バンドル/縮小が有効になっている場合、一部のバンドルはブラウザーに無効なURL(/で終わる)が含まれているように見え、IISはフォルダーの内容を一覧表示しようとしているかのように403 forbiddenエラーを出します。

バンドルのセットアップ方法に違いはありません。それらは.min.cssではなく、アクセス許可は正しいなどです。



回答:


232

私のバンドルは、ソリューションの実際のフォルダーに対応するパスとして登録されました~/Content/forum

これは、バンドルがオフになっている場合(バンドルが正しく含まれている場合)には正常に機能しますが、バンドルが有効になっている場合には機能しません。

解決策は、バンドルの登録名を変更して、ファイルシステムに存在するものと同じにならないようにすることです。


20
また、CSSファイルが画像またはCSSに関連する他のファイルを参照している場合は、バンドルのファイル名が実際のCSSを含むフォルダーの下にあることを確認してください。たとえば、~/Content/myfolder/bundleCSSが次の場合Content/myfolder
Kieren Johnstone

1
私は2つのバンドルを持っています:〜/ Content / kendo(cssの場合)と〜/ bundles / kendo(スクリプトの場合)。つまり、403エラーです。私がそれらの1つに名前を変更したとき-問題はなくなりました。ありがとう。
VikciaR 2013年

1
@KierenJohnstoneは具体的でなくてすみません、"Change the registered name of the bundle"それはどういう意味ですか?-WEが割り当てるバンドルの名前を想定しました。(太字部分)のように-> bundles.Add(new StyleBundle( "〜/ Content / css" ).Include("~/Content/site.css"));
Don Thomas Boyle

1
見つけて。これはFontAwesome nugetパッケージのバグのようです。
wolfyuk 2014年

1
また、select2 nugetパッケージにも含まれています。
鉄人の鬼

3

私の場合、バンドルがディレクトリとして指定されていた@Scripts.Render("~/scripts")ため、IISは実際のjsファイルを提供する方法を知りませんでした。バンドル名をjavascriptファイルを表すように変更し、@Scripts.Render("~/scripts.js")それを修正しました。同じことが私のスタイルバンドルにも当てはまりました。


3

問題は、バンドル名の命名規則です。

("bundles/css") 

これは私の問題を解決しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.