2013-11-25 2 views
0

간단한 IIS URL 다시 작성을 구현하려고합니다. URL : about.test.local ~ text.local/about.html을 다시 작성하고 싶습니다.IIS URL 다시 쓰기가 실패합니다.

아래의 구성에서 규칙을 추가했지만 작동하지 않는 것 같습니다. 문제가 무엇입니까?

<rewrite> 
     <rules> 
      <rule name="Rewrite1" patternSyntax="ExactMatch" stopProcessing="true"> 
       <match url="about.test.local" /> 
       <action type="Rewrite" url="http://test.local/about.html" /> 
      </rule> 
      <rule name="Rewrite2" patternSyntax="ExactMatch" stopProcessing="true"> 
       <match url="http://about.test.local/" /> 
       <action type="Rewrite" url="http://test.local/about.html" logRewrittenUrl="true" /> 
      </rule> 
     </rules> 
    </rewrite> 

@beavel 언급했듯이, 나는 규칙에 따라 추가했지만 URL은 여전히 ​​다시 쓴하지 않습니다

  <rule name="Rewrite2a" patternSyntax="ExactMatch" stopProcessing="true"> 
       <match url="(.+)" /> 
       <conditions> 
        <add input="{HTTP_HOST}" pattern="about.test.local" /> 
       </conditions> 
       <action type="Rewrite" url="http://test.local/about.html" /> 
      </rule> 
      <rule name="Rewrite2b" patternSyntax="ExactMatch" stopProcessing="true"> 
       <match url="(.+)" /> 
       <conditions> 
        <add input="{HTTP_HOST}" pattern="http://about.test.local/" /> 
       </conditions> 
       <action type="Rewrite" url="http://test.local/about.html" /> 
      </rule> 
+0

당신이 도움이되는 URL 재 작성 모듈 GUI에서 "사용자 친화적 인 URL"템플릿을 사용하여 시도 되세요 이것을 세우 라구? 나는 그 자체로 다시 쓰는 일을하지 않았으므로 나의 대답이 문제를 완전히 해결했는지 확신 할 수 없다. 내가 잘못 알고있는 것으로 시작했다. – beavel

답변

0

문제는 here 설명 경기 URL이 호스트를 포함하지 않는다는 것입니다 . 당신이 하나 개의 IIS 사이트에 바인딩 호스트 이름이 여러 개 있고 단지 당신이 뭔가를 할 것이 하나의 호스트 이름을 다시하려면 다음

<rule name="Rewrite1" patternSyntax="ExactMatch" stopProcessing="true"> 
    <match url="(.+)" /> 
    <conditions> 
     <add input="{HTTP_HOST}" pattern="about.test.local" /> 
    </conditions> 
    <action type="Rewrite" url="http://test.local/about.html" /> 
</rule> 
관련 문제