Request.RawUrl은 항상 /default.aspx 변형을 반환합니다. 나는 어떤 방법을 찾을 수 없었습니다 이 URL을 구별합니다. 아무도 그렇게하는 법을 알고 있습니까? 환경은 IIS 7.0에서 .NET 3.5SP1입니다.ASP.NET에서/(루트)과 /default.aspx를 구별하는 방법
4
A
답변
1
실제로 URL Rewriter을 디자인 할 때이 동일한 문제를 해결해야했습니다. URL에 액세스하기 전에 발생하는 프로세스와 관련이 있습니다. 이 문제를 해결하려면 IIS 7에서 기본 페이지 처리가 해제되어 있는지 확인해야합니다. 기본 페이지 처리가 없으면 드라이브에 매핑하려고하는 추가 단계를 거치지 않으므로 요청 된 정확한 URL이됩니다. 그러나 이것은 System.Web.Routing
을 사용하는지 여부에 따라 옵션이 될 수도 있고 아닐 수도 있습니다.
- 이동 오른쪽 상단에
- 이동을 클릭 안
- 기본 문서 에 IIS에서 사이트 :
는 다음을 수행 할 필요가 처리 기본 페이지를 끄려면 모서리.
또는 당신은 당신의 web.config
에 다음을 추가 할 수 있습니다
<system.webServer>
<!-- ... other tags here ... -->
<defaultDocument enabled="false" />
</system.webServer>
이 기본 문서가 더 이상 URL에 추가됩니다하지 않는다 후. 그러나 이 더 이상 활성화되어 있지 않으므로 디렉토리에 실제로 매핑되는 default.aspx에 의존 할 수 없다는 것을 수동으로 처리하거나이 기능을 처리하기 위해 System.Web.Routing과 같은 것을 사용해야합니다.
다음은 IIS 6.
- 열기 IIS를 적용하고 웹 사이트를 마우스 오른쪽 단추로 클릭하고 '속성'을 선택합니다 는 와일드 카드를 켤 필요가 IIS 6에서 동일한 작업을 수행하려면 .
- 새로운 와일드 카드 매핑 파일 위치를 aspnet_isapi.dll로 할 수있는 실행 텍스트 상자를 설정
- 을 만들기 위해 '삽입 ...'버튼을 클릭하여 응용 프로그램 설정 섹션
- 아래에있는 '설정'버튼을 클릭합니다. for .net 2.0, 3.0, 3.5 : C : \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll
- '파일 존재 확인'확인란이 선택 취소되어 있는지 확인하십시오.
- '확인'을 눌러 확인하고 모든 창을 닫습니다.
참고 : 그런데 모든 소스는 내가 일을 한 방법이 궁금했다 까봐 내가 위의 링크 된 사이트에서 사용할 수 있습니다.
관련 문제
- 1. XMLDocument에서 구별하는 방법
- 2. 구별하는 방법을 방법
- 3. SharePoint Designer가없는 SharePoint 사이트에서 default.aspx를 편집하는 방법
- 4. 요청에서 default.aspx를 제거하십시오.
- 5. 끈적 거리는 버그를 구별하는 방법
- 6. Grails의를 구별하는 방법 URL 매핑
- 7. NTFS로 폴더와 파일을 구별하는 방법
- 8. MVC 라우팅 : /mypath/Default.aspx를 /Default.aspx로 라우팅하고 QueryString을 유지하는 방법?
- 9. 란 카드와 데이터 카드를 구별하는 방법
- 10. 설치시 Vista SP1과 Server 2008을 구별하는 방법
- 11. FTP 서버의 파일과 폴더를 구별하는 방법
- 12. RADIUS 서버의 초기 액세스 요청을 구별하는 방법
- 13. WMI : 무선 마우스와 터치 스크린을 구별하는 방법
- 14. 이클립스 : 다른 열린 작업 영역을 구별하는 방법
- 15. 파이썬에서 메소드와 속성을 이름으로 구별하는 방법
- 16. IIS가 URL에 localhost/default.aspx를 추가하는 이유는 무엇입니까?
- 17. Flex와 DHTML을 구별하는 기능은 무엇입니까?
- 18. 숫자 형식을 구별하는 TableModel 열
- 19. ß와 ss를 구별하는 SQL 쿼리
- 20. 원 사각형과 삼각형을 구별하는 기술?
- 21. 익명의 새로운 Drupal 사용자를 구별하는 방법은 무엇입니까?
- 22. onPause 후에 onDestroy를 호출 할 것인지 여부를 구별하는 방법
- 23. 안드로이드 - 활동 다시 시작을 "정상적인"시작과 구별하는 방법
- 24. 인기있는 소스 제어 시스템이 바이너리 파일과 텍스트 파일을 구별하는 방법
- 25. 런타임시 양식 및로드시 사용자 정의 컨트롤로드를 구별하는 방법
- 26. WIX : Adminstrators 그룹 및 기본 제공 관리자의 구성원을 구별하는 방법
- 27. 플렉스 슬라이더 : 프로그래밍 방식과 사용자 변경 방식을 구별하는 방법
- 28. iPhone OS에서 소리 신호의 묵음 패턴과 신호음 패턴을 구별하는 방법
- 29. AJAX (jQuery)를 사용하여 중복 양식의 양식 값을 구별하는 방법
- 30. 데이터베이스 벡터 클래스와 프레임 워크 벡터 클래스를 구별하는 방법?
나는 이것을 조사 할 것이다! 당신의 프로젝트를 알지 못했습니다. 리플렉터를 사용하여 ASP.NET 내부를 깊이 관통하고 URL ASP.NET이 (IIS7WorkerRequest 내부에서) IIS의 네이티브 부분에 의해 이미 수정되었음을 확인했습니다.apphost에서 많은 기본 모듈을 사용하지 않을 것입니다. 난 그냥 기본 문서 처리를 비활성화하려고하지만 그것은 cassini 웹 서버에서 아무것도 변경됩니다. 나중에 IIS에서 시도합니다. btw IIS + ASP.NET은 기본 동작의 거대한 괴물입니다. 무서운. – usr
추신 : asp.net 양식을 어떻게 지원하는지 궁금합니다. 코드를 살펴볼 것입니다. – usr
카시니는 표준 ' '설정 만 따르므로 카시니에서는 아무 것도 바꿀 수 없습니다. 그러나 카시니는 보통 순수 .NET 엔진이기 때문에 IIS 7에서 볼 수있는 것을 잘 판단하고 있습니다. 그러나'default.aspx'와'index.aspx'를 위해 여전히 하드 코딩을하고 있습니다. Visual Studio에서 이전 ASP.NET 응용 프로그램을 실행할 때 그냥 작동합니다 (tm). 그러나 디렉토리에서 파일을 제거하는 경우'default.aspx'를 사용하지 않고 URL을 인식하도록 강제 할 수 있습니다. –