2011-12-01 7 views
0
나는이 규칙을 쓰기

URL 재 : 재 통과 쿼리 매개 변수

http://localhost/en/test?id=tool-37 

http://localhost/en/tool/37 

에 리디렉션 할 수있는 방법 IIS 7.5

하지만 작동하지 않습니다

<rule name="Tool-Diseases" stopProcessing="true"> 
    <match url="(.+)/test.+id=([0-9]+)" /> 
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> 
    <action type="Redirect" url="{R:1}/tool/{R:2}" appendQueryString="true" /> 
</rule> 

감사합니다.

답변

0

URL 및 QueryString은 IIS 다시 쓰기 모듈에서 별도로 처리됩니다. 요청이이 URL 위해 만들어진 경우

는 예를 들어, :

  • 규칙 패턴이 같은 URL 문자열의 콘텐츠/default.aspx에를 가져옵니다 http://www.mysite.com/content/default.aspx?tabid=2&subtabid=3 및 재 작성 규칙 다음 사이트 수준에 정의 된 입력
  • QUERY_STRING 서버 변수에 tabid = 2 & subtabid = 3이 포함되어 있습니다.
  • HTTP_HOST 서버 변수에 www.mysite.com이 포함되어 있습니다.
  • SERVER_PORT 서버 변수에 80이 있습니다.
  • SERVER_PORT_SECURE 서버 변수에 0이 있고 HTTPS에 OFF가 있습니다.
  • REQUEST_URI 서버 변수가 /default.aspx?tabid=2 포함 & subtabid = 3

당신은 IIS 재 작성 설정에서 "서버 변수"섹션에서 쿼리 문자열과 일치하는 정규 표현식을 입력 할 수 있습니다.