How to Generate Lower-Case URLs in ASP.NET Core?
Published: 2023-01-10 19:49:08

---
title: How to Generate Lower-Case URLs in ASP.NET Core?
published: true
date: 2022-12-24 18:57:26 UTC
tags: 
canonical_url: https://mbarkt3sto.hashnode.dev/how-to-generate-lower-case-urls-in-aspnet-core
---

In this article, we will look at how to generate lower-case URLs in [ASP.NET](http://ASP.NET) Core using the built-in routing features.

## **Configuring the Routing Middleware**

In order to generate lower-case URLs in [ASP.NET](http://ASP.NET) Core, you will need to use the routing middleware. This middleware is responsible for mapping incoming requests to the appropriate controller and action in your application.

To configure the routing middleware, open the `Startup.cs` file and add the following code to the `Configure` method:

```cs
app.UseRouting();

```

This will enable the routing middleware in your application.

## **Adding a Route**

Next, you will need to add a route to your application. A route is a pattern that specifies the URL structure of your application.

To add a route, you can use the `MapRoute` method of the `IRouteBuilder` interface. This method takes two arguments: a string that specifies the route pattern, and an `Action<RouteBuilder>` delegate that configures the route.

Here is an example of how to add a route to your application:

```cs
app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
});

```

This route will match URLs that have a controller and an action specified, such as `/home/index`. The `{id?}` parameter is optional and will match any additional segments in the URL.

## **Generating Lower-Case URLs**

To generate lower-case URLs, you can use the `LowercaseUrls` property of the `RouteOptions` class. This property is a boolean value that specifies whether the generated URLs should be in lower case or not.

To configure the `LowercaseUrls` property, you can use the following code:

```cs
app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}",
        defaults: null,
        constraints: null,
        dataTokens: null,
        handler: null,
        options: new RouteOptions { LowercaseUrls = true });
});

```

This will generate lower-case URLs for all routes in your application.

## **Testing the Lower-Case URLs**

To test the lower-case URLs, you can run your application using the following command:

```
dotnet run

```

This will start the application and you can navigate to it in a web browser.

To test the lower-case URLs, you can try navigating to a URL with mixed case, such as [`http://localhost:5000/Home/Index`](http://localhost:5000/Home/Index). You should see that the URL is automatically converted to lower case when it is displayed in the address bar.

## **Conclusion**

In this article, we looked at how to generate lower-case URLs in [ASP.NET](http://ASP.NET) Core using the routing middleware. We saw how to configure the `LowercaseUrls` property of the `RouteOptions` class to generate lower-case URLs for all routes in our application.

By following these steps, you can ensure that the URLs in your [ASP.NET](http://ASP.NET) Core application are all in lower case, which can help with SEO and improve the user experience.