ASP.NET перенаправление URL без дочернего элемента

#asp.net #webforms

#asp.net #веб-формы

Вопрос:

 <rule name="news_en">
   <match url="en/news/"/>
   <action type="Rewrite" url="en/blog/NewsList.aspx"/>
</rule>
  

Он также перенаправляет, если URL выглядит как […]/ru/news/id1234; но мне это не нужно. Что мне делать?

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

1. Вы могли бы установить следующий атрибут в правиле patternSyntax="ExactMatch"

Ответ №1:

Попробуйте это:

     <rule name="news_en">
      <match url="^en/news/$"/>
      <action type="Rewrite" url="en/blog/NewsList.aspx"/>
    </rule>   
  

^ означает, что сопоставление начнется с начала доменного имени.
Так что www.yourdomain.com/en/news/ перенаправлять пока www.yourdomain.com/pages/en/news/ не будут.

$ за соответствующей строкой ничего не допускается.

Ответ №2:

Используйте «ru/ news $» в качестве соответствующего URL-адреса для сопоставления с ../ru/news и «ru / news / $» для сопоставления с .. / ru / news / .