网址重写-如何将部分网址转换为小写

时间:2019-02-01 07:36:57

标签: asp.net-mvc iis

我目前正在探索IIS中的URL重写,以寻求将部分URL从大写转换为小写的要求。 目前,我在下面有此规则。

<rule name="Redirect Vacancies to vacancies" enabled="true" stopProcessing="true" >
  <match url="([a-zA-Z]{2}\-[a-zA-Z]{2})/Vacancies$" ignoreCase="false" />
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}/vacancies" />
</rule>

如果在其中键入www.mydomain.com/en-sg/Vacancies之类的网址并按Enter,它将被重定向到www.mydomain.com/en-sg/vacancies。请注意,它将“ 职位空缺”转换为“ 职位空缺”。

我现在面临的挑战是,如果我拥有此URL /Vacancies/Jobs/Vacancies/Jobs/2018,该怎么办。看来我现有的规则不适用于此端点。我想要的是将/Vacancies转换为小写字母,但/Jobs仍然保持驼峰格式。

赞赏上述要求的任何建议。

干杯!

1 个答案:

答案 0 :(得分:0)

好像我现在找到了解决方案。 请参阅以下规则

<rule name="Redirect Vacancies to vacancies" enabled="true" stopProcessing="true">
    <match url="([a-zA-Z]{2}\-[a-zA-Z]{2})/Vacancies" ignoreCase="false" />
    <conditions>
        <add input="{URL}" pattern="/Vacancies/(.*)" ignoreCase="false" />
    </conditions>
    <action type="Redirect" url="http://{HTTP_HOST}/{ToLower:{R:0}}/{C:1}" />
</rule>