現在、次のようなURLがあります。
https://tfs.mydomain.com/tfs/MyProjectCollection/Project/_workitems
私がリダイレクトする必要があること:
https://dev.Azure.com/MyOrg/Project/_workitems
IISでHTTPリダイレクトモジュールを使用すると、https://tfs.mydomain.com
からhttps://dev.Azure.com/MyOrg
に問題なくリクエストを転送できました。
問題は、それがディープリンクの場合、リダイレクトするときにリンクの/tfs/MyProjectCollection
部分を削除する必要があることです。ルートドメインをリダイレクトするという私の現在のセットアップでは、次の要求を行います。
https://tfs.mydomain.com/tfs/MyProjectCollection/Project/_workitems
最終的にリダイレクトされます:
https://dev.Azure.com/MyOrg/tfs/MyProjectCollection/Project/_workitems
希望の代わりに:
https://dev.Azure.com/MyOrg/Project/_workitems
これは私のweb.configが現在どのように見えるかです:
<configuration>
<system.webServer>
<httpRedirect enabled="true" destination="https://dev.Azure.com/MyOrg" httpResponseStatus="Permanent" />
</system.webServer>
</configuration>
リダイレクトするときにURLの/tfs/MyProjectCollection
部分を削除するにはどうすればよいですか?
更新:URL書き換えモジュールをインストールして、web.configをこのように設定してみましたが、結果は同じです。
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="IQProjectCollection" stopProcessing="true">
<match url="^tfs/IQProjectCollection$" />
<action type="Redirect" url="https://dev.Azure.com/iqmetrix" />
</rule>
<rule name="tfs" stopProcessing="true">
<match url="^tfs$" />
<action type="Redirect" url="https://dev.Azure.com/iqmetrix" />
</rule>
<rule name="home" stopProcessing="true">
<match url="^$" />
<action type="Redirect" url="https://dev.Azure.com/iqmetrix" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
私はつまずいて答えを見つけました この同様の質問 。 IIS URL Rewriteモジュールを使用すると、これが私のweb.configが私が望むことを実行するように見えるものです。ルールの順序が重要です(最も具体的から最も具体的ではない)。
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="IQProjectCollection" stopProcessing="true">
<match url="^tfs/MyProjectCollection/(.*)" />
<action type="Redirect" url="https://dev.Azure.com/MyOrg/{R:1}" />
</rule>
<rule name="tfs" stopProcessing="true">
<match url="^tfs/(.*)" />
<action type="Redirect" url="https://dev.Azure.com/MyOrg/{R:1}" />
</rule>
<rule name="home" stopProcessing="true">
<match url="^$" />
<action type="Redirect" url="https://dev.Azure.com/MyOrg" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>