내 Windows 2012 서버에서 IIS에 URL 다시 쓰기 모듈을 설치했습니다. www가 아닌 www를 web.config에서 www로 리디렉션하기 위해이 가이드를 따라 왔습니다. http://www.surfingsuccess.com/asp/iis-url-rewrite.html#.VF6GBid0yAU비 WWW를 WWW로 리디렉션 (특정 하위 도메인 제외)
지금까지 매우 훌륭했습니다!
유일한 문제는 하위 도메인 "api.example.com"도 호스팅한다는 것입니다. 이 API는 web.config에 코드를 적용하면 작동을 멈 춥니 다.
내 질문은 : 아래 코드가 잘못 되었습니까? "api.example.com"을 제외하고 www가 아닌 www를 www로 리디렉션하려고 할 때 하위 도메인이 작동하지 않는 이유는 무엇입니까?
<rewrite>
<rules>
<rule name="CanonicalHostNameRule1">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.example\.com$" negate="true" />
<add input="{HTTP_HOST}" pattern="^api\.example\.com$" negate="true" />
</conditions>
<action type="Redirect" url="http://www.example.com/{R:1}" />
</rule>
</rules>
</rewrite>
불행히도 도움이되지 않았지만 web.config (example.com)에 코드를 추가하면 api.example.com이 계속 작동하지 않습니다. api.example.com은 IIS의 한 사이트이고 example.com은 IIS의 다른 사이트이기 때문에 이것은 매우 이상하다고 생각합니다. 한 사이트 (example.com)에서 사용자 URL을 다시 작성할 때 다른 사이트 (api.example.com)에 영향을주는 이유는 무엇입니까? 또한 별도의 응용 프로그램 풀에서 실행됩니다. –
입력이 www로 시작하지 않으면 www.example.com으로 리디렉션되는 규칙을 만들 수 있습니까? 또는 api.? –
WWWROOT \ web.config 수준에서 다시 쓰기 규칙을 추가하고 있습니까? 간섭을 일으킬 수있는 다른 것이 있습니까? 실패한 요청 추적을 시도하여 로그를 확인하는 것이 좋습니다. 문제가있는 곳을 정확히 찾아냅니다. – bdoshi