가장 좋은 방법은 IIS7 URL Rewrite Module을 사용하는 것이지만 서버에 설치해야합니다. 동시에 사용하기가 쉽고 강력합니다. 기본적으로 설치되지는 않지만 Microsoft에서 제공하는 것으로 자주 사용되기 때문에 호스팅 된 경우 이미 설치되어있을 수 있습니다. 당신은 2.0 asp.net의 이상에 경우
, 당신은 Web.config의에 urlMappings
섹션을 추가 할 수 있습니다
<system.web>
<urlMappings enabled="true">
<add url="~/Section" mappedUrl="~/Section/index.aspx"/>
</arlMappings>
</system.web>
그러나 이것은 몇 가지 문제가있다 : 첫째, URL은 ISN을 요청하는 경우 ' ASP.Net 모듈에서 처리했거나 응용 프로그램에 전달되지 않은 경우 다시 작성하지 않습니다. 예를 들어, ".aspx"파일을 누르지 않아 발생할 수 있습니다. 또한 일부 구성에서는 사용자가 요청한 파일이 있어야합니다. 또 다른 문제는 지원되는 와일드 카드 규칙이 없기 때문에 규칙을 추가하여 가능한 모든 경로를 개별적으로 다시 작성해야한다는 것입니다.
마지막으로 asp.net은 bin 디렉토리에 놓고 web.config에 추가 할 수있는 httpmodules을 다시 작성합니다. url rewriting에 대한 ScottGu의 몇 가지 (기한이 지났을 수도있는) 옵션이 있습니다.
로 끝나는, 어떤 어떤 URL이 설치 한 모듈을 다시 작성하는 경우? 예를 들어 IIS 7 URL 다시 쓰기 모듈을 사용하고 있습니까? –
은 제거해야하는 모든 디렉토리에서 index.aspx입니까? ASP.NET 용 MVC를 사용해 보셨습니까? –
@Justin C : 간단한 HTTPModule 수정이 될 수있는 응용 프로그램의 주요 변경 사항입니다.) –