2016-09-03 1 views
1

IIS에서 가상 디렉터리 나 응용 프로그램을 만들지 않고 일반 폴더에서 MVC 응용 프로그램을 실행할 수 있도록 "내 폴더/폴더/mymvcappfolder/{컨트롤러}/{ 액션} "과 기본 컨트롤러/액션도 사용할 수 있습니다. 그러나 적어도 내가 URL에 컨트롤러 이름을 전달하면 정상적으로 작동합니다. 그렇지 않으면 "HTTP 오류 403.14 - 금지됨"이 나타납니다. 내가 Web.config의에서 아래의 솔루션을 시도했지만하위 폴더 403의 ASP.Net MVC 금지 됨

<system.webServer> 
<modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer> 

그리고

<system.webServer> 
    <modules> 
    <remove name="UrlRoutingModule-4.0" /> 
    <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" /> 
    </modules> 
</system.webServer> 

왜 내 경로는 컨트롤러 이름을 거치지 않고 작동하지 않는 어떤 제안을 일을하지 않았다?

답변

2

실제 디렉토리를 가리키고 있기 때문에 그게 네 루트가 기본값으로 작동하지 않아 IIS가이 폴더에 대한 액세스를 차단하고있다. ("웹 서버는 이 디렉토리 ")의 내용 ...

이 당신이 당신의 RouteConfig에 경로 기존 파일을 사용하도록 설정해야 작동하는지 확인하려면 다음

RouteTable.Routes.RouteExistingFiles = true;