ASP.NET Core:重定向到 IIS 中所述的正确站点 URL

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

我有一个托管在如下 URL 的网站: 域名.com/myApp/

当用户访问domain.com/myapp/(小写a)时,我希望它重定向到domain.com/myApp/(大写A),就像IIS中所述。

我需要将此代码部署到多台服务器上的多个域,并且我需要每个服务器都以正确的大小写重定向到其自己的正确 URL。因此,正确的 URL 必须从某些数据源读取,而不是硬编码。

我非常接近能够执行重定向,但我不知道如何从 IIS 检索站点的 URL。我尝试过

builder.Configuration[WebHostDefaults.ServerUrlsKey]
builder.WebHost.GetSetting(WebHostDefaults.ServerUrlsKey)
,当它们在本地工作时,它们会在服务器上返回
null

那么 ASP.NET Core 站点如何知道确切的托管站点 URL(而不仅仅是请求中的 URL)?或者,ASP.NET Core 如何自动重定向到大小写正确的 URL?谢谢你。

asp.net-core iis iis-10 asp.net-core-6.0 asp.net-core-7.0
1个回答
0
投票

如果您想要

domain.com/myapp/
重定向到
domain.com/myApp/
。为什么不使用 IIS 中的重写模块创建一个简单的重写规则?就像下面这样:

    <rewrite>
        <rules>
            <rule name="redirect rule" stopProcessing="true">
                <match url="^myapp(.*)" />
                <action type="Redirect" url="myApp(.*)" />
            </rule>
        </rules>
    </rewrite>
© www.soinside.com 2019 - 2024. All rights reserved.