Scott Reed
Nov 17, 2021
  3511
(4 votes)

Restore Root CMS episerver Login Path In .NET 5

Introduction

With the release of CMS 12 there was the removal of dashboards which has caused the base login path to not work when created in a new project via the steps documented here https://world.optimizely.com/documentation/developer-guides/CMS/getting-started/creating-a-starter-project/ 

Now with the out of the box code you have to navigate to /episerver/cms to access the CMS Editing area.

Although you can change the path to the CMS editing experience with the documented approach https://world.optimizely.com/documentation/developer-guides/CMS/configuration/changing-edit-and-admin-view-urls/ it does not work to change this to just /episerver as there needs to be a subpath for the CMS experience.

Solution

Using the ASP.NET Rewriting Middleware https://docs.microsoft.com/en-us/aspnet/core/fundamentals/url-rewriting?view=aspnetcore-5.0 we can add a redirect to reirect /episerver to /episerver/cms

First add the nuget package

dotnet add package Microsoft.AspNetCore.Rewrite --version 2.2.0

Then add in the redirect to the Startup.cs configure code

var options = new RewriteOptions().AddRedirect("episerver$", "episerver/cms");
app.UseRewriter(options);

Conclusion

This is something simple but I've seen people confused https://world.optimizely.com/forum/developer-forum/CMS/Thread-Container/2021/11/cms12-emptystarter-project-not-working/ therefore I wanted to post about it and propose an easy solution to remedy the problem. Ideally when you go to the root /episerver as everyone is used to doing you want to go to the CMS which this will do.

Also as a note now that Episerver is no longer the company name it strikes me odd to preserve it so I would follow the approach in https://world.optimizely.com/documentation/developer-guides/CMS/configuration/changing-edit-and-admin-view-urls/ anyhow and consider changing the default URL path to remove the old brand. Such as /cms/cms with a redirect from /cms &  /episerver to /cms/cms or any name of your choice :-) 

Happy coding!! Add any thoughts, errors or suggestions in the comments below!!

Nov 17, 2021

Comments

Please login to comment.
Latest blogs
Understanding Optimizely Opal Cost

Opal pricing are transparent at large extent, It is based on a credit consumption model rather than fixed per-user licensing or tokens consumptions...

K Khan | May 25, 2026

Optimizely CMS 12 Now Fully Supports .NET 10

This is the latest installment in our ongoing series covering .NET version support for Optimizely products. If you've been following along, you may...

Bien Nguyen | May 25, 2026

Optimizely Opal: How to Build Effective Workflow Agents

If you're building workflow agents in Optimizely Opal, this post covers how specialized agents pass context to each other, why keeping agents small...

Andre | May 20, 2026

ReviewPR: An Azure Function That Reviews Your Azure DevOps Pull Requests With Claude

A while back I wrote about an  Azure Function App for PDF creation that we use to offload PDF rendering from our Optimizely DXP site. That same...

KennyG | May 19, 2026