IIS重写规则到路径

问题描述 投票:0回答:1

由于AspNetCore MVC无法与host//querystring之类的Url相匹配。我想使用IIS Rewrite模块重定向下面的URLhttps://localhost:5001//?id=123 to https://localhost:5001/?id=123这是我的规则,但不起作用,我该如何改进?

    <system.webServer>
    <rewrite>
        <rewriteMaps>
            <rewriteMap name="redirect // to /">
            </rewriteMap>
        </rewriteMaps>
        <rules>
            <clear />
            <rule name="Redirect" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
                <match url="(.*)//\?(.*)" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                <action type="Redirect" url="{R:1}/?{R:2}" appendQueryString="false" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

enter image description here

iis url-rewriting url-rewrite-module
1个回答
0
投票

据我所知,无论您在地址栏中输入多少“ /”,Web浏览器和提琴手都只会向IIS端发送单个“ /”。

即使您可以将类似http://localhost//的请求发送到IIS。匹配网址为/。因此(。] // \?(。)将永远与您的传入请求URL不匹配。

© www.soinside.com 2019 - 2024. All rights reserved.