How to Generate Lower-Case URLs in ASP.NET Core?

How to Generate Lower-Case URLs in ASP.NET Core?

·

2 min read

In this article, we will look at how to generate lower-case URLs in ASP.NET Core using the built-in routing features.

Configuring the Routing Middleware

In order to generate lower-case URLs in 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:

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:

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:

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. 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 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 Core application are all in lower case, which can help with SEO and improve the user experience.