网址配置中的网址重写

时间:2016-08-28 21:23:45

标签: c# .net url url-rewriting web-config

edit1:拼写错误

edit2:将捐赠啤酒寻求帮助:)

我很抱歉,如果这个问题是愚蠢的,但我已经尝试过一些教程并阅读一些指南,但我无法理解它。

我们正在通过构建新的电子商务来切换域名,并且URL是完全不同的。

旧的看起来像这样:

olddomain.com/se/mycategory/subcategory/c/1234

{domain} / {language} / {c} / {id}是重要的值,并且网址不需要类别/子类别。

在新环境中,我们不使用c / id部分,语言部分也不存在。相反,我们有不同的域名(如newdomain.com / newdomain.se等)。

我想使用url rewrite模块将基于id的旧网址映射到新网址。

<rules>
      <rule name="Rewrite rule1 for test">
         <match url=".*" />
         <conditions>
                    <add input="{test:{REQUEST_URI}}" pattern="olddomain.com/(se|no|fi)/.+?(?=/c/)/c/(NI\d+|\d+)" />
         </conditions>
         <action type="Rewrite" url="{C:1}" appendQueryString="false" />
      </rule>
</rules>

<rewriteMaps>
     <rewriteMap name="test" >
            <add key="olddomain.com/fi/c/34102" value="newdomain.fi/category"/>
     </rewriteMap>
</rewriteMaps>

我遇到的问题是,如果我输入这样的网址:

olddomain.com/fi/wada/wada/c/1234

在IIS模式测试器中,我得到了这个结果:

c:0 olddomain.com/fi/wada/wada/c/1234
c:1 fi
c:2 1234

如果我在开发环境中测试它,它甚至不会尝试重写它。

我正在寻找的是:

olddomain.com/fi/c/1234

发送到rewritemap并匹配它的密钥,然后重写到新的URL。

我无法弄清楚我做错了什么,如果有人可以向我解释并帮助我,我真的很感激

由于 /佛瑞德

0 个答案:

没有答案
相关问题