이전 URL을 새 URL로 리디렉션하려면 web.config 파일에서 RewriteMap을 사용하고 있습니다..NET RewriteMap을 사용하여 후행 슬래시가 있거나없는 이전 URL에서 작동하도록하십시오.
<rule name="Localhost Rewrite Rules" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(.*\.)?example\.com$" />
<add input="{lhRewrites:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" appendQueryString="false" url="{C:1}" redirectType="Permanent" />
</rule>
유의하시기 바랍니다, 패턴을 intentially 하드 코드이 각 도메인 이름에 대한 특정 규칙의 더 큰 세트의 일부로서 도메인을 다음과 같이 규칙은 현재이다. 그래서 나는 일반적으로 규칙을 최적화하거나 재 작성 (말장난을 변명)하려고하지 않습니다.
rewriteMap.config 파일은 다음 리디렉션을 포함 : 나는 http://example.com/old
를 방문 할 때
<rewriteMap name="lhRewrites">
<add key="/old" value="/new" />
</rewriteMap>
현재 규칙이 잘 작동 - 그것은 http://example.com/new
로 리디렉션합니다.
그러나 '이전'URL에 슬래시 (예 : http://example.com/old/
)가 포함되어 있으면 작동하지 않습니다. 이전 URL에 슬래시가 있는지 여부와 관계없이 작동해야합니다.
모든 매핑 키를 복제하지 않아도됩니다.
감사합니다.