II7 Проблемы с перезаписью - исключая страницы - PullRequest
0 голосов
/ 19 августа 2009

Привет всем, у меня есть вопрос о IIS7 переписать.

Мне интересно, есть ли способ установить условия для переписывания URL. я желая переписать:

http://www.domain.com/user.aspx?id=username

стать

http://www.domain.com/username/

У меня также есть

http://www.domain.com/article.aspx http://www.domain.com/login.aspx

и я хочу, чтобы они стали

http://www.domain.com/article/ http://www.domain.com/login/

У меня проблема в том, что если я установлю до переписывает имя пользователя переписывает для статьи и логин брейк.

Мне нужно как-то исключить тех из имя пользователя переписывается так, чтобы они могут быть обработаны самостоятельно.

Вот мой текущий код, я переписываю имена пользователей для / user / username на момент:

<rewrite>
  <rules>
    <rule name="Rewrite user accounts2">
      <match url="user/([_0-9a-z-]+)"/>
      <action type="Rewrite" url="user.aspx?id={R:1}"/>
    </rule>
    <rule name="Rewrite user accounts">
      <match url="user/([_0-9a-z-]+)/"/>
      <action type="Rewrite" url="user.aspx?id={R:1}"/>
    </rule>
  </rules>
</rewrite>

1 Ответ

0 голосов
/ 21 августа 2009

Если вы добавите правило article / login вверху и добавите в него stopProcessing = "true", вам не нужно использовать условия.

<rewrite>
  <rules>
    <rule name="Login" stopProcessing="true">
      <match url="login/?"/>
      <action type="Rewrite" url="login.aspx"/>
    </rule>
    <rule name="Article" stopProcessing="true">
      <match url="article/?"/>
      <action type="Rewrite" url="article.aspx"/>
    </rule>
    <rule name="Rewrite user accounts2" stopProcessing="true">
      <match url="user/([_0-9a-z-]+)/?"/>
      <action type="Rewrite" url="user.aspx?id={R:1}"/>
    </rule>
  </rules>
</rewrite>

PS. вопросительный знак делает предыдущий символ необязательным.

...