我有一条现有规则:
<rewrite url="~/([^-]+)(?:-(.+))?/(.+).aspx" to="~/Results.aspx?city=$1&state=$2&term=$3&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}&state={R:1}&term={R:2}" appendQueryString="true" redirectType="Permanent" />
</rule>
对于缓存的搜索引擎链接,我需要编写一条规则,保留上面的.aspx规则,使用新的URL结构重定向它 - 没有.aspx和尾部斜杠。
我正在使用MVC3重写这个特定的应用程序。我熟悉MVC的斜杠结构,但只是想确保这些规则也适用于新的架构。
最后,我还要求一个不使用/ City-State /部分的规则,并且不会弄乱我的〜/ Images / 。,〜/ Scripts / 。和〜/ Styles / 。引用。
感谢。