IIS URL 重写 - 将子文件夹重定向到页面
IIS URL Rewrite - Redirect for subfolder to page
我想根据以下规则重定向我网站上的所有流量
https://www.test.com/abc -> https://www.test.com/test1.aspx?c=abc
https://www.test.com/def -> https://www.test.com/test1.aspx?c=def
子文件夹需要作为查询字符串传递
我试过了,好像不行。
<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/(.*) - tried matching a test.com after the actual qualified domain name. So www.test.com/test.com/abc would satisfy the condition and not www.test.com/abc
说明
该规则匹配任何出现的 URL - 模式 (.*)
第一个条件确保合格域名后的任何内容至少有一个 non-space 字符
第二个条件确保被解析的部分没有特殊字符。这是我的要求。
我想根据以下规则重定向我网站上的所有流量
https://www.test.com/abc -> https://www.test.com/test1.aspx?c=abc
https://www.test.com/def -> https://www.test.com/test1.aspx?c=def
子文件夹需要作为查询字符串传递
我试过了,好像不行。
<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/(.*) - tried matching a test.com after the actual qualified domain name. So www.test.com/test.com/abc would satisfy the condition and not www.test.com/abc
说明
该规则匹配任何出现的 URL - 模式 (.*)
第一个条件确保合格域名后的任何内容至少有一个 non-space 字符
第二个条件确保被解析的部分没有特殊字符。这是我的要求。