2011-09-13 2 views
3

http://localhost/에서 실행중인 ASP.NET MVC 3 웹 사이트가 있습니다. 나는 또한 새 프로젝트 (ASP.NET MVC3)를 가지고 있으며 응용 프로그램으로 배포하려고합니다.ASP.NET MVC 3 - IIS 7.5에서 응용 프로그램으로 배포 할 때 이미지를 찾을 수 없습니다.

그러나 이미지에 문제가 있습니다. <img src="/content/img/site-logo.png" alt="logo" /> 을 사용하여 이미지를 만들면 실제 URL은 /child/content/img/site-logo.png이어야하므로 이미지를 사용할 수 없습니다.

URL을 Url.Content("~/content/img/site-logo.png") 에 입력하면 해결할 수 있지만 지금은 내 이미지를 모두 바꾸고 싶지 않습니다.

좀 더 쉬운 해결책입니까? 일부 IIS 7 설정?

+3

글 머리 기호를 물어 뜯고 변경하십시오. Url.Content는이 용도로 사용하기에 적합하므로 올바르게 사용하지 않아도 가격을 지불하게됩니다. –

+0

동의. 그것이 바로 Url.Content의 목적입니다. –

답변

0

내가 Url.Content ("~/컨텐츠/IMG/사이트 logo.png")에 URL을 넣을 경우 내가 그것을 해결할 수 있지만 지금 내 모든 이미지를 변경하지 않습니다.

물론 나는 IIS 웹 사이트의 루트에서 실행되도록 응용 프로그램을 설정하는 것 외에는 IIS 설정을 알지 못합니다.

ASP.NET MVC 응용 프로그램에서 URL을 처리 할 때는 항상 URL 도우미를 사용해야합니다. 그래서 당신은 정말로 모든 하드 코드 된 URL을 변경해야합니다. 그리고 이것은 이미지 만 포함하지 않는 방식으로, 또한 hrefs, 폼 액션, 자바 스크립트 파일에 하드 코딩 된 URL 일 수 있습니다 ...

0

가상 디렉터리 루트 iis 프로젝트에서 이미지가있는 디렉토리를 가리 킵니다. 하지만 이미지 경로를 정리하는 데는이 시간을 더 보내야합니다. 왜냐하면 이미지 경로가 나중에 다시 묻을 것이기 때문입니다.

2

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

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

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

관련 문제