嘿所有,我有一个问题 IIS7重写。我想知道是否有办法设置 重写网址的条件。我 想要改写:
成为
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>
答案 0 :(得分: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。该问号使前面的字符可选。