Правило перенаправления для .aspx на прекращенную косую черту? - PullRequest
1 голос
/ 19 апреля 2011

У меня есть существующее правило:

<rewrite url="~/([^-]+)(?:-(.+))?/(.+).aspx" to="~/Results.aspx?city=$1&amp;state=$2&amp;term=$3&amp;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}&amp;state={R:1}&amp;term={R:2}" appendQueryString="true" redirectType="Permanent" />
    </rule>     

Также для кэшированных ссылок поисковой системы мне нужно написать правило, которое сохраняет правило .aspx выше, перенаправляя его с использованием новой структуры URL - без .aspx и завершающего слеша.

Я переписываю это приложение с использованием MVC3. Я знаком со структурой слэша с MVC, но хочу убедиться, что эти правила будут применяться и к новой архитектуре.

Наконец, мне также требуется правило, которое не использует часть / City-State / и не портит мои ~ / Images / . , ~ / Scripts / . и ~ / Styles / . ссылки.

Спасибо.

...