由于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>
据我所知,无论您在地址栏中输入多少“ /”,Web浏览器和提琴手都只会向IIS端发送单个“ /”。
即使您可以将类似http://localhost//的请求发送到IIS。匹配网址为/。因此(。] // \?(。)将永远与您的传入请求URL不匹配。