Рассматривали ли вы Промежуточное программное обеспечение для перезаписи URL ?
Это довольно просто.
- Перетащите файл IISUrlRewrite.xml в корень папки вашего приложения.Пометьте его как «Content» и «Copy to output directory», установленное в true, в вашем csproj
<ItemGroup>
<Content Include="IISUrlRewrite.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
Добавить следующее содержимое в файл
<rewrite>
<rules>
<rule name="Host replace - Old to new" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="www\.myolddomain\.net" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://www.mynewdomain.com{REQUEST_URI}" redirectType="Permanent" appendQueryString="true" />
</rule>
</rules>
</rewrite>
Зарегистрируйте модуль перезаписи URL в методе
Configure
вашего
Startup.cs
файла
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// Irrelevant code emitted
using (var iisUrlRewriteStreamReader = File.OpenText(Path.Combine(env.ContentRootPath, "IISUrlRewrite.xml")))
{
var options = new RewriteOptions().AddIISUrlRewrite(iisUrlRewriteStreamReader);
app.UseRewriter(options);
}
// Irrelevant code emitted
}