2012-11-09 5 views
2

기존 규칙을 xml로 사용하여 모든 요청을 해당 URL의 특정 URL로 다시 쓰거나 리디렉션합니다. 아웃 바운드 요청이 도메인 밖으로 나가게하지는 않습니다.IIS 7의 URL 다시 쓰기

하나의 URL (예 : abc.com)에만 예외를 추가하고 싶습니다. 특정 요청에 예외를 추가하는 방법은 무엇입니까?

(IIS가 ASP.NET 응용 프로그램과 작동하지 않지만 다른 응용 프로그램과 함께 작동하기 때문에 global.asax와 같은 것을 제공하지 마십시오.)

현재 규칙 :

<rewrite> 
    <rules> 
     <rule name="topcontent"> 
      <match-url=".*"> 
       <action type="rewrite" url="mysite.com/{R:0}"/> 
      </match-url> 
     </rule> 
    </rules> 
</rewrite> 

인바운드 요청이 mysite.com에 URL을 다시 작성 제공합니다. abc.com/을 말하는 데 예외를 추가해야합니다/...... 어떻게해야합니까?

+0

당신이 정말로 다른 도메인에 요청을 다시 작성하고 있습니까의 여기 Redirect를 사용할 수 있다고 생각하거나 요청을 리디렉션 하시겠습니까? –

답변

0
당신이 코드 아래 사용할 수 있습니다

: 조건이 추가되었습니다

<rule name="special" enabled="true"> 
    <match url=".*" /> 
    <conditions logicalGrouping="MatchAll" > 
    <add input="{HTTP_HOST}" pattern="^(www\.)?abc\.com$" negate="true" /> 
    </conditions> 
    <action type="Redirect" url="http://mysite.com/{R:0}"/> 
</rule> 

규칙을 따르므로 실행되지 않으면 조치가 실행됩니다 (negate="true")

http://{HTTP_HOST}/url을 확인하고, 여기에 예외 인 경우 abc.com 또는 www.abc.com과 일치하지 않으면 조치를 취할 것입니다.

또한 당신이 즉 (URL이 ARR와 다시 쓰기) 역방향 프록시로 IIS를 사용하는 대신 Rewrite

+0

내 도메인은 abc.com이고 나가는 도메인은 xyz.com입니다. 현재 '상위 콘텐츠'규칙에 따라 URL이 변경되고 외부 도메인으로 이동할 수 없습니다. 이 {R : 0}과 {C : 0} 인 what5가 모두 설명해 주시겠습니까? url의 정규 표현식이 어떻게 구축 되었습니까? 감사. –

+0

역 참조 인 {C : 0} 및 {R : 0}의 경우 [다시 쓰기 규칙의 역 참조 사용] (http://www.iis.net/learn/extensions/url-rewrite-module)을 참조하십시오./url-rewrite-module-20-configuration-reference # Using_back-references_in_rewrite_rules)를 참조하십시오. _ _, **. *** (여기서 "."은 모든 문자를 의미하고 "*"는 0 이상의 반복을 의미 함)는 ** URI. Regular Expressions에 대한 간단한 안내서로 [Simple RegEx Tutorial] (http://www.icewarp.com/support/online_help/203030104.htm)을 따르십시오. – Mahyar

0

IIS 관리자> [your site]> URL 다시 작성으로 이동하십시오.

abc.com과 일치하는 새 규칙을 추가하고 "후속 규칙 처리 중지"를 선택하십시오.

+0

xml로 보여 주실 수 있습니까? 정규 표현식과 URL 재 작성에 대한 지식이 없기 때문입니다. –

2

topcontent 규칙 위의 다른 규칙 만들기 : 여기

<rule name="special"> 
    <match-url="abc.com"> 
     <action type="rewrite" url="mysite.com/specialPage.htm"/> 
    </match-url> 
</rule> 

비슷한 질문 : IIS URL rewrite exception

관련 문제