posted by 네코냥이 2013. 9. 12. 14:02


기존 싸이트 밑에 가상 디렉토리로 싸이트를 추가하였다.


그런데, 새로 추가된 MVC 웹싸이트에서 라우팅이 작동하지 않았다.


무엇이 문제일까?


1. 확장자가 없는 경로를 인식하지 못하였다.


새로 추가된 가상디렉토리 싸이트의 속성차을 연다.

가상 디렉터리 탭에서 '구성' 버튼을 눌러 [응용 프로그램 구성] 창을 띄운다.

매핑 옵션에 조건을 하나 추가해야한다.

- 실행파일: c:\windows\microsoft.net\framework64\v4.0.30319\aspnet_isapi.dll

(이미 추가된 매핑옵션들을 편집을 눌러보면 대강 경로를 추측이 가능하다. 

모르겠으면 그냥 똑같은 프레임워크를 사용하는 웹싸이트를 올리고, ASP.NET 버전을 맞춰준다. 

그리고 참조하면 됨.)

( RouteConfig.cs에 가상디렉토리를 포함할 필요없다. aspnet_isapi.dll이 알아서 판단한다.)

- 확장자: .*

- 파일이 있는 확인 옵션을 체크해지한다.

- 확장자 .*가 등록되지 않는 경우,  와일드카드 응용 프로그램을 매핑해주는 곳에 등록한다.

(확장자 옵션없이 모든 확장자를 받아들인다.)



2. 기존 웹싸이트의 .NET Framework 버전과 새로 추가된 .NET 프레임워크 버전이 다르다.


새로운 응용 프로그램 풀을 생성.

새로 추가된 가상디렉토리 싸이트에, 응용프로그래밍 풀을 바꿔준다. 

( 한번 바꾸면 쉽게는 복구할수 없다. ) 



원인이 2가지이지만, 후자의 해결책만으로도 전자의 문제점을 해결할 수 있을 것 같다. (추측)