403을 제공하는 MVC4 스타일 번들


99

번들링 / 축소화가 활성화되면 일부 번들의 브라우저에 잘못된 URL (/로 끝남)이있는 것 같고 IIS는 폴더의 내용을 나열하려는 것처럼 403 금지 오류를 표시합니다.

내 번들이 설정되는 방식에는 차이가 없습니다. .min.css가 아니고 액세스 권한이 정확합니다.



답변:


233

내 번들은 솔루션의 실제 폴더에 해당하는 경로로 등록되었습니다 ~/Content/forum.

번들링이 꺼져 있으면 (번들이 올바르게 포함되어 있습니다!) 제대로 작동하지만 번들링이 활성화 된 경우에는 작동하지 않습니다.

해결책은 번들의 등록 된 이름을 파일 시스템에있는 것과 동일하지 않도록 변경하는 것입니다.


20
또한 CSS 파일이 CSS와 관련된 이미지 또는 기타 파일을 참조하는 경우 번들 파일 이름이 실제 CSS를 포함하는 폴더 아래에 있는지 확인하십시오 . 예를 들어, ~/Content/myfolder/bundleCSS는 미만인 경우Content/myfolder
Kieren 존스톤

1
~ / Content / kendo (css 용) 및 ~ / bundles / kendo (스크립트 용)의 두 가지 번들이 있습니다. 그래서 : 403 오류. 내가 그들 중 하나의 이름을 변경했을 때-문제가 사라졌습니다. 감사.
VikciaR 2013 년

1
@KierenJohnstone 구체적이지 않은 것에 대해 죄송합니다. "Change the registered name of the bundle"그게 무슨 의미입니까? - 우리가 할당 한 번들의 이름을 가정했습니다 . 좋아요 (굵은 부분)-> bundles.Add(new StyleBundle( "~ / Content / css" ).Include("~/Content/site.css"));
Don Thomas Boyle

1
에 딱 맞다. 이것은 FontAwesome nuget 패키지의 버그 인 것 같습니다.
wolfyuk 2014-10-17

1
또한 select2 너겟 패키지에도 있습니다.
Tetsujin no Oni

3

제 경우에는 번들이 디렉토리로 지정 @Scripts.Render("~/scripts")되었으므로 IIS는 실제 js 파일을 제공하는 방법을 알지 못했으며 번들 이름을 javascript 파일을 나타내도록 변경하고 @Scripts.Render("~/scripts.js")수정했습니다. 내 스타일 번들도 마찬가지였습니다.


3

문제는 번들 이름이 있어야하는 명명 규칙입니다.

("bundles/css") 

이것은 내 문제를 해결했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.