我有一个托管在如下 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?谢谢你。
如果您想要
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>