URL 재 작성
재 작성 원칙
분석을 처리
의심 장소
하위 디렉토리가있는 경우 lookfor app.Request.ApplicationPath는,이 장소는 일시적으로 불확실 역할을 할 수
요청 우리가 재기록 수행 픽스를 포함하는 경우 부울 플래그 = url.IndexOf는 ( '.') = -1 ;! 플래그를 나타낸다. ""
주요 아이디어 : 사용은 모든 요청 시스템을 차단하는 필터,
첫 번째 단계는 : 요청을 제거 다시 할 필요가 없습니다
재 작성 구성 로딩 시스템 규칙 : 단계
세 번째 단계 : 시스템을 사용하여 일치 context.RewritePath 기능이 요청을 차단한다면 루프 각 규칙을 통해가, 우리의 지정 ASHX 처리기로 전달하는 것은 이동했다
lookfor 到 sendto를
참고 장소
어떻게 모든 요청을 시스템을 얻으려면?
사용 app.Request.Path은 [ 현재 요청의 가상 경로 취득 요청을 전달할지 여부를 결정하기 위해,이 값을 식별함으로써 요청하는 시스템을 나타내는데 사용]
이도를 사용하여 작업을 전달하는 것은, 당신은 두 개의 도메인 이름을 도메인 이름없이 이익을 달성 할 수있다
각 규칙 판정 사이클
각 요청은 각 규칙과 일치하는 데 필요한 시스템, 각 스위칭 규칙을 도착, 정규 표현식을 직접 일치가 성공하면 루프에서, 개체의 인스턴스를 사용할 필요가,이 곳 더 나은 성능입니다
포인트 정기 관심
정확히 일치 ^ $ 두 기호는 가상 경로를 나타내고 있습니다 완전히 요청과 일치, 경로는 위에서 언급 한
(301)을 달성
www가 아닌 링크를위한 301 위에 www가 리디렉션로 이동 관심은 집에 www가 아닌 점프 아니다
그들은이 장소가 순환 판사 규칙이 작성되어야한다는 것을 요구하므로 점프, 전체 사이트입니다
URL 절대 규칙을 포함하는 경우에 실현하기위한 핵심은 절대적 URL을 식별 app.Request.Url.AbsoluteUri.ToLower () 인
HTTP : //abc.com | http://www.abc.com
즉 StartsWith이다 http://abc.com를 응용 기능 (301)에
요약 : 몇 가지 주요 사항을보다 더 이해하기 위해 URL 재 작성 필요, 그렇게 생각하십시오
URL 본질적으로 무엇을 재 작성? 이 요청은 우리가이 경로를 이동하고자하는 치료 프로그램에 전달됩니다
URL은 엔트리 포인트 위치를 재 작성? app.Request.Path 모든 요청을 차단 획득
URL 재 작성은 판사를 식별하는 방법은? 정규 표현식으로
매개 변수 처리 다시 쓴
당신은 URL이 매개 변수를 다시 작성? 또는 app.Request.Path에 의해 수행하는 경우
어떻게 URL에 관련 매개 변수 lockfor을 요청하기를 격리 재 작성?
정규 표현식을 사용하여 기능을 대체 별도의 매개 변수를 수행,이 장소는 중요한 장소입니다
1 확장
301 정 : 시스템은 요청을 전달하는 작업을 수행 할 수 있습니다, 결국 요청을 가로 채어
확장 2
하위 디렉토리 재 작성 [생각을 얻을 수 있습니다. . . ]
주요 아이디어는 분명하지만, 장소의 일부 세부 사항은 특히 명확하지 않다