正则表达式:如何使用 iis 重写规则将 url 分成两部分

RegEx: How to split url into two part with iis rewrite rule

所以这些是我的 url,我需要将其分成两部分。

1) http://localhost:8800/

2) http://localhost:8800/About.aspx

3) http://localhost:8800/product.aspx?id=1&vref=201

4) http://localhost:8800/Contact.aspx

5) http://localhost:8800/Contact/india or http://localhost:8800/Contact/usa

参见上面的 url,我想使用一个正则表达式

将这些 url 分成两部分

1) 第一个url只有一部分 2)第二个 url 有两部分 http://localhost:8800 和 About.aspx

3) 第三 url 有两部分 http://localhost:8800 和 product.aspx?id=1&vref=201

4) 第 4 url 有两部分 http://localhost:8800 和 Contact.aspx

5) 第 4 url 有两部分 http://localhost:8800 和 Contact/india 或 http://localhost:8800/Contact/usa

现在告诉我我应该在 iis url 重写规则中应用什么正则表达式,它将按照我在这里描述的方式将上面的 url 分成两部分。请帮助我使用可在 iis 重写规则模式测试中使用的确切正则表达式。

试试这个正则表达式:

(https?:\/\/[^\/]+)\/(.*)

第 1 组是第一部分。第2组是第二部分。

它的工作原理是首先找到 http://https://,然后是一堆非正斜杠。它将所有内容放入第 1 组。然后,它查找正斜杠。最后,将字符串的其余部分放入第 2 组。

  • () 正在捕获组。第一对()为组1,第二对为组2,依此类推
  • s? 表示 s 是可选的
  • \/ 按字面意思匹配 /。你可以只写/在一些口味
  • [^]是反字class。它将匹配除其中字符以外的任何内容。
  • . 匹配除行终止符以外的所有内容。
  • *表示0次或多次

在这里试试:https://regex101.com/r/S9yg0C/2