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

第一个条件确保限定域名后面的任何内容至少有一个非空格字符

第二个条件确保正在分析的部分中没有特殊字符。这是我的要求