限制特定域的IIS重写映射
我的要求是需要重定向特定域的url。所以我决定 使用“重写映射”,但我在下面尝试的内容将适用于我拥有的所有域。它不适用于特定领域 让我举个更深刻的例子。假设同一IIS实例上有3个域限制特定域的IIS重写映射,iis,url-rewriting,web-config,sitecore,Iis,Url Rewriting,Web Config,Sitecore,我的要求是需要重定向特定域的url。所以我决定 使用“重写映射”,但我在下面尝试的内容将适用于我拥有的所有域。它不适用于特定领域 让我举个更深刻的例子。假设同一IIS实例上有3个域 www.abc.com www.xyz.com www.eee.com 在域www.abc.com中,urlwww.abc.com/legal应重定向至www.abc.com/privacy 像上面一样,我有很多重定向url需要为同一个域实现 下面列出了我尝试过的事情 <!--Test snippet 1
<!--Test snippet 1-->
<rewrite>
<rules>
<rule name="Redirect rule1 for Redirects" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern=".*www.abc.com.*" />
<add input="{ABCRedirects:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>
</rules>
<rewriteMaps configSource="abc-rewritemaps.config" />
</rewrite>
<!--Test snippet 2-->
<rewrite>
<rules>
<rule name="Redirect rule1 for Redirects" enabled="true" stopProcessing="true">
<match url=".*www.abc.com.*" />
<conditions>
<add input="{HTTP_HOST}" pattern=".*www.abc.com.*" />
<add input="{ABCRedirects:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>
</rules>
<rewriteMaps configSource="abc-rewritemaps.config" />
</rewrite>
<!--Test snippet 3-->
<rewrite>
<rules>
<rule name="Redirect rule1 for Redirects" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{ABCRedirects:{REQUEST_URI}}" pattern=".*www.abc.com.*" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>
</rules>
<rewriteMaps configSource="abc-rewritemaps.config" />
</rewrite>
<!--My Rewrite map-->
<rewriteMaps>
<rewriteMap name="ABCRedirects">
<add key="/legal" value="/privacy" />
<add key="/good" value="/bad" />
<add key="/hi" value="/bye" />
<add key="/no" value="/not" />
<add key="/123" value="/321" />
</rewriteMap>
</rewriteMaps>
最重要的是,我尝试过的所有代码都适用于所有域,我不能仅限于www.abc.com
如何限制特定域的重写映射?我测试了您的第一个代码片段,它对我有效。您是否可以尝试使用失败的请求跟踪来更好地了解哪里出了问题,请参阅此处@Jeroen-ur-idea-helps,我的代码实际上可以工作。由于iis缓存失败。