将.aspx的规则重定向到已终止的斜杠?

时间:2011-04-19 15:14:12

标签: asp.net iis-7 url-rewriting

我有一条现有规则:

<rewrite url="~/([^-]+)(?:-(.+))?/(.+).aspx" to="~/Results.aspx?city=$1&amp;state=$2&amp;term=$3&amp;x=$4"/>

我想用非.aspx扩展名和尾随斜杠替换。

因此,该网址将类似于www.mysite.com/City-State/My-Search-Term/,它会重定向到读取重写的查询字符串的Results.aspx。

我正在从.net重写解决方案(因此需要.aspx扩展名)转到IIS 7上的URL Rewrite。

由于我还不完全熟悉语法,这就是我在想的......这不太合适:

    <rule name="Redirect .aspx to " enabled="true" stopProcessing="true">
      <match url="~/([^-]+)(?:-(.+))?/(.+)" />
      <action type="Redirect" url="~/Results.aspx?city={R:0}&amp;state={R:1}&amp;term={R:2}" appendQueryString="true" redirectType="Permanent" />
    </rule>     

对于缓存的搜索引擎链接,我需要编写一条规则,保留上面的.aspx规则,使用新的URL结构重定向它 - 没有.aspx和尾部斜杠。

我正在使用MVC3重写这个特定的应用程序。我熟悉MVC的斜杠结构,但只是想确保这些规则也适用于新的架构。

最后,我还要求一个不使用/ City-State /部分的规则,并且不会弄乱我的〜/ Images / ,〜/ Scripts / 和〜/ Styles / 引用。

感谢。

0 个答案:

没有答案