1

请帮助我使用 IIS 重定向我的 URL 重写以下内容:

https://domain.com:8080/Context/services/.*

https://domain.com:8443/Context/services/.*

我们只打开了 8080 端口,这就是为什么需要重定向 SSL。

但与此同时,我不希望任何其他 URL 被重定向,例如 https://domain.com:8080/Context/xyz(或除服务之外的任何内容)/。*

我尝试了以下但它不工作:

<rule name="HTTPS Request on 8080 Redirect to HTTPS Request on 8443 for Root" 
      patternSyntax="ECMAScript" stopProcessing="true">
    <match url="https(.*)Context/services/.*" />
    <conditions>
        <add input="{SERVER_PORT}" pattern="8080" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}:8443/{R:0}" />
</rule>
4

1 回答 1

0

试试这个:

<rule name="HTTPS Request on 8080 Redirect to HTTPS Request on 8443 for Root" 
     patternSyntax="ECMAScript" stopProcessing="true">
    <match url="^(Context/services/.*)" ignoreCase="true" />
    <conditions>
        <add input="{SERVER_PORT}" pattern="8080" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}:8443/{R:0}" />
</rule>

如果您在此处查看访问 URL 部分部分,您会注意到匹配 URL 包含它所在目录的根之后的所有内容。对于根目录中的某些内容,例如您的情况,它将是主机名和端口之后的所有内容没有前导斜杠 /。

于 2013-11-10T01:56:06.813 回答