IIS URL重写{R:N}澄清
我无法理解{R:N}的用途。 任何人都可以请澄清何时使用
{R:0}
与{R:1}
用法示例:
<action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" />
我见过ScottGu使用{R:1}
http://weblogs.asp.net/scottgu/archive/2010/04/20/tip-trick-fix-common-seo-problems-using-the-url-rewrite-extension.aspx
而下面有{R:0}
http://weblogs.asp.net/owscott/archive/2009/11/27/iis-url-rewrite-rewriting-non-www-to-www.aspx
看看下面的IIS链接但是不能静下来消化下面的定义:
对条件模式的反向引用由{C:N}标识,其中N从0到9; 对于规则模式的反向引用由{R:N}标识,其中N从0到9.注意,对于这两种types的反向引用,{R:0}和{C:0}将包含匹配的string
根据文件:
使用ECMAScript模式语法时,可以通过将括号放在必须捕获反向引用的模式部分周围来创build反向引用。
因此,参考文档中的示例:
^(www\.)(.*)$
在条件下使用inputstringwww.foo.com
,您将拥有:
{C:0} - www.foo.com {C:1} - www. {C:2} - foo.com
为了简单起见:
- 从规则模式(
<match url="...">
)使用{R:x}
作为反向引用。 - 从条件模式(
<conditions><add input="{HTTP_HOST}" pattern="..."></conditions>
)使用{C:x}
作为反向引用。 -
0
引用包含整个inputstring -
1
引用将包含匹配第一个括号()
的模式的string的第一部分,第二2
引用的第二部分等…直到参考数字9
注意:
使用“通配符”模式语法时,在模式中使用星号符号(*)时始终创build反向引用。 “?”时不会创build反向引用 在模式中使用。
- 在iis 7.0上运行.net framework 4.0网站的问题
- 在IIS中,为什么窗口身份validation不会显示为我的Web应用程序的一个选项?
- 是否有一个实际的HTTP头长度限制?
- debuggingIIS时closuresVisual Studio附加安全警告
- 如何指导获取在IIS 7.0下工作的经典asp应用程序
- 在IIS7上,WebApi的{“message”:“发生了错误”},而不是在IIS Express中
- 请求的页面无法访问,因为页面的相关configuration数据是无效错误
- 在Asp.net中设置默认页面
- url内的双转义序列:请求过滤模块configuration为拒绝包含双转义序列的请求