0

こんにちは、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>
4

1 に答える 1

0

記事/ログインルールを上部に追加し、それに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。疑問符は、前の文字をオプションにします。

于 2009-08-20T20:59:32.793 に答える