У меня есть существующее правило:
<rewrite url="~/([^-]+)(?:-(.+))?/(.+).aspx" to="~/Results.aspx?city=$1&state=$2&term=$3&x=$4"/>
Который я бы хотел заменить на расширение .aspx и косую черту.
Таким образом, URL будет выглядеть примерно так: www.mysite.com/City-State/My-Search-Term/, который перенаправляет на файл Results.aspx, который читает переписанную строку запроса.
Я перехожу от решения для перезаписи .net (следовательно, требования к расширению .aspx) к перезаписи URL в IIS 7.
Поскольку я до сих пор не совсем знаком с синтаксисом, я думал об этом ... что не совсем работает:
<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 / . ссылки.
Спасибо.