2012-08-06 2 views
0

MVC 3 사이트를 go 아빠 계정에 게시하고 있습니다. VS 2010에서 FTP 게시 유틸리티를 사용하고 있습니다. 사이트에서 "okay"를 게시합니다. 나는 그것이 웹 주소가 실행할 때, 내 로컬 컴퓨터에MVC 호스트에 게시하면 추가 하위 폴더가 추가됩니다.

:
로컬 호스트/학생/내 이동 아빠 계정에

을 만들어이 mvctest라는 하위 디렉토리를 생성 한, 그러나 여기 문제입니다. mvctest의 가상 디렉터리를 가리키는 mvctest.mysite.com이라는 하위 도메인을 만들었습니다. 이것은 잘 작동합니다.

그러나 www.mysite.com/mvctest에 내 사이트를 게시 한 후에 모든 링크에서/mvctest/디렉토리가 추가로 제공됩니다. 내가 원하는 것은 :
mvctest.mysite.com/Student/Create
I는 무엇을 얻을 :
mvctest.mysite.com/mvctest/Student/Create

흥미로운 것은 내가 수동으로 입력하는 경우 것이 무엇인지 내가 원하는, 페이지가 잘로드됩니다. 루트에 대한 링크를 하드 코딩 한 경우 괜찮습니다. 그러나 모든 Url.Content 및 Html. 링크가 추가 mvctest 디렉토리를 추가합니다 ..

나는이 딜레마에 대한 답변을 전혀 조사하지 않고 있습니다. web.config에서 시도했지만, 그렇게하지 않는다고 생각합니다. FTP에서 VS2010의 게시 유틸리티가 내 global.asax 파일의 라우팅 구조를 변경한다고 생각하지만 확실하지 않습니다.

의견을 보내 주시면 감사하겠습니다.

답변

0

가상 디렉터리가 응용 프로그램입니까? 응용 프로그램으로 설정되지 않은 경우 IIS는 사이트의 루트를 응용 프로그램으로 처리하고 하위 디렉터리를 추가합니다. this post을 참조하십시오.

+0

해결했습니다. 방법을 모릅니다. 더 많은 연구를해야합니다. Html.ActionLink 및 Application Root를 검색하여이 문제에 대한 게시물을 더 찾았습니다. 불행히도 아무도 대답을하지 않는 것 같습니다. 예, 내 하위 디렉토리가 응용 프로그램 루트로 검사됩니다. 나는 앱 풀을 재활용했지만 아무 것도하지 않았다. 그런 다음 파이프 라인을 통합형으로 변경했는데이를 해결 한 것으로 보입니다. web.config의 설정을 꺼내서 다시 볼 수 있지만 마침내 제대로 작동하는지 확인할 것입니다. – mgordon12

0

다음은 나를 위해 같은 문제를 해결하고 내가 찾은 블로그 게시물 (source)에서 인용 : 솔루션에 대한 그래서 지금

, 나는 아마 초기에 언급해야하지만 잘하면 당신이있어 URL 재 작성 모듈이 설치된 IIS7을 사용합니다 (GoDaddy에서 IIS7을 사용할 때 기본적으로 설치됩니다). 은 단순히 당신의 Web.config의의 system.webServer 요소에 다음을 추가

<rewrite> 
    <rules> 
    <rule name="Remove Virtual Directory"> 
     <match url=".*" /> 
     <action type="Rewrite" url="{R:0}" /> 
    </rule> 
    </rules> 
</rewrite> 

모든이가 그 자체로 URL을 "다시"않습니다. 이렇게하면 URL 다시 쓰기가 원래 URL (폴더 이름이없는 URL)을 ASP.NET MVC에서 다른 URL을 생성하는 데 사용하는 ServerVariable에 추가합니다.