티스토리 뷰

사이트 /board 경로의 물리경로를 구할 때는 대개

Server.mappath("/board")

와 같이 하면 물리경로가 

C:\Inetpub\wwwroot\board

와 같이 구해진다.


그런데, IIS에서 위의 사이트에

d:\wwwsub\virtualdir

가상 디렉터리로 설정해 놓았다고 할 때

물리 경로를 구하려 Server.mappath("/virtualdir") 과 같이 하면

결과는 C:\Inetpub\wwwroot\virtualdir


그러면 어떻게 해야 가상 디렉터리의 진정한 물리 경로를 받아 올 수 있을까?

해결책은 단순하다.

Server.mappath("\virtualdir")

과 같이 '/' 를 '\' 로 바꾸어 주면 된다.


코딩시 '/'와 '\'를 혼합해서 써야 한다면 상당히 귀찮을거라 생각되어

두가지를 테스팅 해 본 결과

'\'로 통일하여 쓰면 항상 진정한 물리 경로를 얻을 수 있다.


'\' 사용이 찝찝하면 '.'(현재 물리경로) 를 사용하면 된다.


아래의 참고 사이트를 통해

Server.Mappath(".") 또는 "..", "~" 등의 다양한 사용법을 더 익힐 수 있다.


* 참고

http://www.codeproject.com/Questions/273570/Server-MapPath-till-virtual-directory
http://www.plus2net.com/asp-tutorial/mappath.php

댓글