大家好,我有一个关于 IIS7 重写的问题。
我想知道是否有办法为重新编写 url 设置条件。我想重写:
成为
http://www.domain.com/username/
我也有
http://www.domain.com/article.aspx http://www.domain.com/login.aspx
我希望那些成为
我遇到的问题是,如果我为用户名设置重写,则重写文章和登录中断。
我需要以某种方式将那些从用户名重写中排除,以便它们可以自己处理。
这是我当前的代码,我现在将用户名重写为 /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>
问问题
659 次
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 回答