Iis 7 将旧URL.aspx替换为新mvc路由的URL重写规则

Iis 7 将旧URL.aspx替换为新mvc路由的URL重写规则,iis-7,url-rewriting,iis-7.5,rewrite,url-rewrite-module,Iis 7,Url Rewriting,Iis 7.5,Rewrite,Url Rewrite Module,我有一个webforms网站,我正在翻译为MVC,但我希望某些已被索引的url能够在MVC网站中找到它们的新url,我正在努力解决以下问题: http://www.domain.com/content/reviews/I_once_answered_a_question_in_SO_page512.aspx 我想把它转换成如下格式: http://www.domain.com/view/512/I_once_answered_a_question_in_SO 到目前为止,我所拥有的最好的:

我有一个webforms网站,我正在翻译为MVC,但我希望某些已被索引的url能够在MVC网站中找到它们的新url,我正在努力解决以下问题:

http://www.domain.com/content/reviews/I_once_answered_a_question_in_SO_page512.aspx
我想把它转换成如下格式:

http://www.domain.com/view/512/I_once_answered_a_question_in_SO
到目前为止,我所拥有的最好的:

<rule name="content pages" stopProcessing="true">
     <match url="^.*(?:content/(.*)_page([0-9]+)\.aspx)$" />
     <conditions logicalGrouping="MatchAll" trackAllCaptures="true">
         <add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
     </conditions>
     <action type="Redirect" url="/view/{R:2}/{R:1}"/>
</rule>


我认为它非常接近,但我不明白为什么它不匹配。

它非常简单,而且您非常接近,确实需要在内容文件夹和文档页面之间附加一个条件:

    <rule name="content pages" stopProcessing="true">
      <match url="^.*(?:content/(.*)/(.*)_page([0-9]+)\.aspx)$" />
      <conditions logicalGrouping="MatchAll" trackAllCaptures="true">
        <add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
      </conditions>
      <action type="Redirect" url="/view/{R:3}/{R:1}/{R:2}"/>
    </rule>

哦,是的,它很管用,我怎么没试过呢?我可能错过了,太简单了!谢谢你,本