Как использовать два разных RewriteMaps на основе HTTP-Host для достижения чего-то вроде следующего?IIS UrlRewrite RewriteMap с условием HTTP Host
www.myfoo.com/test должен быть переписан /foo/test.aspx
и
www.mybar.com/test должен быть переписан /bar/test.aspx
пока я нашел http://forums.iis.net/t/1177509.aspx/1 и адаптировать его к своим потребностям:
<rule name="Rewrite rule1 for rewritemapFoo">
<match url=".*"/>
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.myfoo\.com$" />
<add input="{URL}" matchType="Pattern" pattern="^.+\.((axd)|(js)|(xaml))$" ignoreCase="true" negate="true"/>
<add input="{rewritemapFoo:{REQUEST_URI}}" pattern="(.+)"/>
</conditions>
<action type="Rewrite" url="{C:1}" appendQueryString="false"/>
</rule>
<rule name="Rewrite rule1 for rewritemapBar">
<match url=".*"/>
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.mybar\.com$" />
<add input="{URL}" matchType="Pattern" pattern="^.+\.((axd)|(js)|(xaml))$" ignoreCase="true" negate="true"/>
<add input="{rewritemapBar:{REQUEST_URI}}" pattern="(.+)"/>
</conditions>
<action type="Rewrite" url="{C:1}" appendQueryString="false"/>
</rule>
...
<rewriteMap name="rewritemapFoo">
<add key="/test" value="/foo/test.aspx"/>
</rewriteMap>
<rewriteMap name="rewritemapBar">
<add key="/test" value="/bar/test.aspx"/>
</rewriteMap>
К сожалению, я получаю только 404 ответ на звонок по адресу www.myfoo.com/test и www.mybar.com/test. Может ли кто-нибудь указать, что мне не хватает?
Вам действительно нужна RewriteMap? вы можете просто повторно использовать все, что есть в HTTP_HOST – cheesemacfly