Asp.net IIS URL重写-将子文件夹重定向到页面
我想根据以下规则重定向我网站上的任何流量 ->Asp.net IIS URL重写-将子文件夹重定向到页面,asp.net,url-rewriting,iis-7,iis-8,url-rewrite-module,Asp.net,Url Rewriting,Iis 7,Iis 8,Url Rewrite Module,我想根据以下规则重定向我网站上的任何流量 -> -> 子文件夹需要作为查询字符串传递 我试过这个,但似乎不起作用 <rule name="Reditect1" stopProcessing="true"> <match url="^(.*)test.com/(.*)" /> <conditions> <add input="{
-> 子文件夹需要作为查询字符串传递 我试过这个,但似乎不起作用
<rule name="Reditect1" stopProcessing="true">
<match url="^(.*)test.com/(.*)" />
<conditions>
<add input="{R:2}" pattern="^[a-zA-Z0-9_]*$" />
</conditions>
<action type="Redirect" url="/test1.aspx?c={C:0}" appendQueryString="true" />
</rule>
所以,经过更多的研究和反复试验,我终于找到了答案。下面是我如何设置它现在
<rule name="Redirect1" stopProcessing="true">
<match url="^(.*)$" />
<conditions>
<add input="{R:0}" pattern="^(?!\s*$).+$"/>
<add input="{R:0}" pattern="^[a-zA-Z0-9_]*$" />
</conditions>
<action type="Redirect" url="/test1.aspx?c={C:0}" appendQueryString="true" />
</rule>
注意该规则是在IIS中的站点级别而不是服务器级别设置的。因此,模式匹配忽略了域名
^(.*)test.com/(.*)-尝试在实际限定域名后匹配test.com。因此www.test.com/test.com/abc将满足条件,而不是www.test.com/abc
解释
该规则匹配-Pattern(.*)中的任何URL
第一个条件确保限定域名后面的任何内容至少有一个非空格字符
第二个条件确保正在分析的部分中没有特殊字符。这是我的要求 所以,经过更多的研究和反复试验,我终于找到了答案。下面是我如何设置它现在
<rule name="Redirect1" stopProcessing="true">
<match url="^(.*)$" />
<conditions>
<add input="{R:0}" pattern="^(?!\s*$).+$"/>
<add input="{R:0}" pattern="^[a-zA-Z0-9_]*$" />
</conditions>
<action type="Redirect" url="/test1.aspx?c={C:0}" appendQueryString="true" />
</rule>
注意该规则是在IIS中的站点级别而不是服务器级别设置的。因此,模式匹配忽略了域名
^(.*)test.com/(.*)-尝试在实际限定域名后匹配test.com。因此www.test.com/test.com/abc将满足条件,而不是www.test.com/abc
解释
该规则匹配-Pattern(.*)中的任何URL
第一个条件确保限定域名后面的任何内容至少有一个非空格字符
第二个条件确保正在分析的部分中没有特殊字符。这是我的要求