2010-04-21 2 views
8

인사말asp.Net MVC 2 응용 프로그램에 스타일/이미지 없음

내 ASP MVC 응용 프로그램에 약간의 문제가 있습니다. 내 로컬 개발 서버에서 모든 것이 잘 작동하지만 IIS 7.0 서버에 응용 프로그램을 게시하려고하면 스타일/마크 업/이미지없이 일반 페이지 만 표시됩니다.

모든 것을/Content/하위 폴더에 넣었지만 프로덕션 서버에서 해당 폴더에 액세스하려고하면 404 오류를 반환합니다.

내가 닷넷 4.0과 IIS 서버를 설정하고 여기에 배포 가이드 다음 : http://www.asp.net/learn/mvc/tutorial-08-cs.aspx 모든 뷰/컨트롤러/클래스가 잘 작동하는 것

,하지 않는 유일한 콘텐츠 하위 폴더가와 나는 이유를 알 수 없다.

누구나 내가 간과 할 수있는 제안을 받았거나 그 문제를 아는 사람이 있습니까?

+0

브라우저에서 CSS 파일로 직접 이동하려고하면 어떻게됩니까? –

+0

404 번째로 ... – xenolf

+0

어떻게 정적 파일을 참조합니까? 상대적으로 또는 절대적으로? IIS에서 응용 프로그램을 구성하는 방법은 무엇입니까? 루트 웹 사이트 또는 다른 사이트 내의 응용 프로그램 폴더로? –

답변

0

콘텐츠 폴더의 속성을 확인하십시오. 어떤 이유로 든 '로컬로 복사'되지 않았는지 확인하십시오.

+1

방금 ​​모든 파일을 복사하면 ... 라우팅이 기존 파일에 엉망이 된 것처럼 보입니다. 실제로 그것을 처리 해야하는 기본 라우팅을 사용하고 있습니까, 아니면 내가 잘못 생각합니까? – xenolf

2

이것은 아마도 ../../Content/Styles/style.css과 같이 고정 경로를 src에 사용하고 있기 때문입니다. MVC에서는 Url 도우미 인 Url.Content("~/Content/Styles/style.css")을 사용해야합니다.

URL 도우미를 사용하면 문제가 없습니다.

10

동일한 문제가 있었지만 컨텐츠 폴더에서 인증을 강제하는 이유를 발견했습니다.

사용자가 아직 로그인하지 않은 경우 익명 인증으로 분류됩니다. IIS7 (내가 사용하고있는 것은 IIS6에서 같음) 기능보기에서 인증 창을 열어야합니다. 그런 다음 응용 프로그램 풀 ID 또는 기본 ID를 사용하도록 익명 인증을 편집하십시오. 사용자가 해당 폴더를 읽을 권한이 있는지 확인하십시오.

나를 위해 그것을 고쳤다, 그것이 당신을 위해 일하기를 바란다.

+0

Conner, 고맙습니다. 내 문제를 해결했습니다. – arame3333

+0

감사합니다. 진정한 해결책입니다! – Tomas

1

밤새 내 머리카락을 꺼내 ​​왔습니다. W2K8, MVC2, .NET 4.0 및 IIS 7에

IIS_IUSRS 루트 폴더하지만 여전히 이동에 대한 모든 권한을 가지고 있음을 확인했다 (2010 VS 사용) - CSS, JS, 이미지는 여전히 접근하지를 짜잔 - -의 .js, .CSS 및 .JPG에 대한 정의 MIME 유형 특징에서

사이트보기 : 간단 페이지 ....

다음을 .... 렌더링에!

달콤한!

p.s. 제 1 MVC 응용 프로그램 - 그리고 내가 그것을 좋아하는 것 같아 ...

3

글쎄, 나는 프로젝트 디렉토리에 IIS_IUSR의 추가와 같은 문제가 발견 : 콘텐츠 폴더에서
CSS로드되지 않고 아무것도 .
그러나 Unable to start debugging on the web server 문제가 해결되었습니다.
그런 다음 IUSR을 동일한 폴더에 추가했는데 문제가 해결되었습니다.이제 이미지, CSS 스타일 및 모든 것을 볼 수 있습니다.

+0

내 wwwroot forlder (다른 사용자 용)를 공유 할 때 IUSR 설정이 제거되었습니다! 이 오류로 몇 시간을 잃었습니다. 감사. –

0

"모든"읽기 속성에 가상 디렉터리가 가리키는 폴더입니다.

관련 문제