Regex 在IIS中使用正则表达式拆分URL
我在使用正则表达式拆分URL时面临挑战 我想更改URL部分的中间部分,因为我们更改了站点页面的URLRegex 在IIS中使用正则表达式拆分URL,regex,url,iis,url-rewriting,Regex,Url,Iis,Url Rewriting,我在使用正则表达式拆分URL时面临挑战 我想更改URL部分的中间部分,因为我们更改了站点页面的URL https://test.company.com/about/news/2015/test/award.aspx 上述给定的URL需要替换如下: https://test.company.com/en/about/media/news/2015/test/award.aspx 我想在IIS中使用正则表达式实现此功能 我在IIS的URL重写中尝试了下面的代码
https://test.company.com/about/news/2015/test/award.aspx
上述给定的URL需要替换如下:
https://test.company.com/en/about/media/news/2015/test/award.aspx
我想在IIS中使用正则表达式实现此功能
我在IIS的URL重写中尝试了下面的代码
about/news/2015(.*.+?)
请根据需要帮助解决此问题,提前感谢。正则表达式引擎获取字符串时不带主机和协议,从
关于开始。因此,您需要从这个固定字符串开始匹配,捕获需要插入所需值并使用的部分
^(about)(/news/2015/)
取代
en/{R:1}/media{R:2}
其中{R:1}
指的是关于
,{R:2}
指的是/news/2015/
下面是一个示例。正则表达式引擎获取不带主机和协议的字符串,从about
开始。因此,您需要从这个固定字符串开始匹配,捕获需要插入所需值并使用的部分
^(about)(/news/2015/)
取代
en/{R:1}/media{R:2}
其中{R:1}
指的是关于
,{R:2}
指的是/news/2015/
以下是一条。您可以尝试以下规则:
<rule name="rule11-1" stopProcessing="true">
<match url="^about/news/2015/(.*)" />
<conditions>
<add input="{REQUEST_URI}" pattern="^/about/(.*)" />
</conditions>
<action type="Redirect" url="https://test.company.com/en/about/media/{C:1}" />
</rule>
您可以尝试以下规则:
<rule name="rule11-1" stopProcessing="true">
<match url="^about/news/2015/(.*)" />
<conditions>
<add input="{REQUEST_URI}" pattern="^/about/(.*)" />
</conditions>
<action type="Redirect" url="https://test.company.com/en/about/media/{C:1}" />
</rule>
我从未使用过IIS,但我知道regex。你能把它分成多个捕获组吗?类似于(^.*\.com/)(about/)(.*$)
的内容,然后将其替换为类似于$1en/$2media/$3
?IIS中的语法可能略有不同。有帮助吗?我从未使用过IIS,但我知道正则表达式。你能把它分成多个捕获组吗?类似于(^.*\.com/)(about/)(.*$)
的内容,然后将其替换为类似于$1en/$2media/$3
?IIS中的语法可能略有不同。是否有帮助?