我有一个webforms网站,我正在翻译成MVC,但我想要一些已编入索引的网址,以便在mvc网站上找到他们的新网址,而我正在努力解决下面的问题:
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>
我认为它非常接近,但我不明白为什么它不匹配。
答案 0 :(得分:6)
这很简单,你很亲密,确实在内容文件夹和文档页面之间需要一个额外的条件:
<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>