IIS 7.5 URL переписывает правило перенаправления для старого URL на новый URL

#asp.net #regex #asp.net-mvc-3 #url-rewriting #iis-7.5

#asp.net #регулярное выражение #asp.net-mvc-3 #перезапись URL-адреса #iis-7.5

Вопрос:

Я пытаюсь сопоставить этот старый URL-адрес веб-формы

http://www.mysite.com/Listing.aspx?mlsnum=T5017910

на этот новый URL-адрес MVC:

http://www.mysite.com/listing?id=T5017910

Почему-то я не могу заставить это работать. Мое правило заключается в следующем:

 <rule name="My Listing Redirect Rule" stopProcessing="true">
    <match url="^Listing.aspx?mlsnum=([0-9a-z] )" ignoreCase="true" />
    <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    </conditions>
    <action type="Redirect" url="listing?id={R:1}" redirectType="Permanent" />
</rule>
  

Приветствуется любая помощь.

Ответ №1:

Вам <match url=...> нужно экранировать ? символ, попробуйте это вместо:

 <match url="Listing.aspx?mlsnum=([0-9a-z] )" ignoreCase="true"/>
  

Комментарии:

1. Я попробовал ваше предложение, но я все еще не могу заставить его работать.