VS2010에서 새 ASP.NET 웹 응용 프로그램을 만들고 IIS7에서 응용 프로그램으로 설정했습니다.응용 프로그램 - 상대 URL
관련성이 있지만 실제로 코드가 \ myserver \ projects \ epeui \ epe 폴더에 있습니다 (프로젝트 폴더가 기본 웹 사이트의 루트 임). 응용 프로그램은이 컴퓨터의 기본 웹 사이트 루트 인 http://myserver/epe/에서 중단됩니다. 그리고 IIS에서 응용 프로그램으로 구성됩니다.
일반적으로 응용 프로그램 루트와 관련된 URL을 사용했기 때문에 CSS 파일은/styles /에 있고 이미지는/images /에 있고 JavaScript 파일은/scripts /에 있습니다.
IIS에서 응용 프로그램을 구성한 경우 내 로고에 액세스하려면 응용 프로그램 상대 URL 인 /images/mylogo.png를 사용해야합니다.
그러나이 사이트에서는 작동하지 않습니다. 대신 부모 경로 (../images/mylogo.png) 또는 기본 웹 사이트 (/epe/images/mylogo.png)와 관련된 URL을 사용해야합니다. 이들 중 어느 것도 이식성의 이유로 적합하지 않습니다.
나는 또한 가상 경로에 가정으로 상대적 URL을 (예 : 응용 프로그램 루트)를 사용하는 물결표를 사용하여 시도했다= ~/이미지/mylogo.png
나는이 천 일을 한 맹세 전에는 분명히 어딘가에 ...
IIS의 표준 응용 프로그램 인 /mypage.html
에 대해 http://myserver/myapp/mypage.html
을 참조해야하며 http://myserver/mypage.html
이 아닌 것으로 확인해야 할 사람이 있습니까? /mypage.html 루트 http://myserver/mypage.html에 매핑 할 것입니다
또한 runat = server, asp.net이 태그와 url을 처리하기 때문에' '가 작동합니다. –
내 대리석을 잃어 버리지 않는 한 (아주 가능합니다!) 지난 10 년 동안 ASP 클래식 응용 프로그램을 개발 한 경험이 있습니다. 다양한 IIS 버전에서 '/'는 응용 프로그램의 루트라고 말합니다. 사이트. 초기에는 종종 IIS에서 폴더를 응용 프로그램으로 설정하는 것을 잊어 버렸기 때문에 이러한 상대 경로가 작동하지 않습니다. 지난 몇 년 동안 내가해온 모든 것이이 문제에 '면역'되어 왔기 때문에 이제는 변화가 있었는지, 아니면 내가 실제로 깨 졌는지 여부를 확신 할 수 없습니다! : – CJM
이 동일한 문제가 발생했습니다. 웹 응용 프로그램 및 웹 사이트가 있습니다. 디버깅을 위해 IIS를 사용하도록 웹 응용 프로그램을 설정했습니다. 기본 웹 사이트에서 응용 프로그램을 추가하고 내 모든 URL을로드하는 것 그러나 웹 사이트에서는 부모 웹 사이트와 관련이 있습니다. – Chev