首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASP.Net WebForm:寻找理解IIS重写规则的指南

ASP.Net WebForm:寻找理解IIS重写规则的指南
EN

Stack Overflow用户
提问于 2017-03-09 20:47:46
回答 1查看 33关注 0票数 1

我在这里发布了一个问题并回答了url is https://stackoverflow.com/a/42694565/6188148

这个人给了我一个IIS重写的代码片段,我不清楚它的意思。

代码语言:javascript
运行
复制
<rule name="Rewrite language code">
  <match url="^([a-z]+)/([0-9a-z]+).aspx" />
  <action type="Rewrite" url="/{R:2}.aspx?lang={R:1}" />
</rule>

就是不明白这行是什么意思,什么是{R:2} /{R:2}.aspx?lang={R:1} {R:1}

IIS如何理解{R:2}.aspx需要替换为home.aspx,以及{R:1}需要替换为国家代码。导致替换的逻辑是什么?

哪个国家名称应该存储在{R:2}模板中,哪个国家代码将存储在{R:1}中,这是什么逻辑

这是我的要求,如果有人熟悉这种规则,那么请在这里放一些光。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-09 23:01:21

您对match的搜索模式由两部分组成,这两部分由括号()中的模式识别。它可以与javascript中的regex相媲美。

([a-z]+)([0-9a-z]+)

重写模块现在可以使用这两个作为action部分中的令牌来重写url。因为2位语言代码是分配给{R:1}的第一个匹配项,所以第二个是实际的页面,所以它成为第二个令牌{R:2}

您可以将其与string.format函数的C#用法进行比较,在该函数中,标记被重载的字符串值替换。

代码语言:javascript
运行
复制
string token = "value";
Label1.Text = string.Format("Replace {0}.", token)

更多信息:

https://blogs.msdn.microsoft.com/chiranth/2014/06/12/url-rewrite-part-2inbound-rules/

http://ruslany.net/2009/04/10-url-rewriting-tips-and-tricks/

https://besthostingforasp.net/url-rewrite-module-iis/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42695806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档