ASP.NET Core url rewrite only domain
Asked Answered
B

1

2

I am trying to change my old domain to new one and I have huge data on my website. I need to change only my domain by url rewriting.

When I request:

www.myolddomain.net/article/seo-friendly-url-for-this-article

I need to have a permanent (301) redirect to:

www.mynewdomain.com/article/seo-friendly-url-for-this-article

How ca I do this in asp.net core?

Behl answered 24/4, 2019 at 20:8 Comment(4)
What have you tried so far?Dermatitis
Without knowing your situation I would suggest responding with statuscode 301 and the Location header see MDNAlegre
Use statuscode 307 for a temporary redirect and 301 for a permanent (the browser will remember)Alegre
@hatef - have you tried the approach below? Let me know how it goes.Primary
P
6

Have you considered URL Rewriting Middleware?

It's pretty simple.

  1. Drop a IISUrlRewrite.xml file in the root of your application folder. Mark it as "Content" and "Copy to output directory" set to true, looks like this in your csproj
  <ItemGroup>
    <Content Include="IISUrlRewrite.xml">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>
  1. Add following content in the file
<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>
  1. Register the URL rewrite module in the Configure method of your Startup.cs file
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{   
    // Irrelevant code omitted

    using (var iisUrlRewriteStreamReader = File.OpenText(Path.Combine(env.ContentRootPath, "IISUrlRewrite.xml")))
    {
        var options = new RewriteOptions().AddIISUrlRewrite(iisUrlRewriteStreamReader);
        app.UseRewriter(options);
    }

    // Irrelevant code omitted
}
Primary answered 24/4, 2019 at 21:30 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.