Search code examples
asp.net-mvcroutescustom-routesmaproute

What is wrong with this MVC route?


I want to create a custom image URL handler, which can handle GET requests with the following URL pattern:

http://blah.com/images/image1.gif

To handle this I created the following route:

        routes.MapRoute(
            name: "appImages",
            url: "images/{*imageName}",
            defaults: new { controller = "Image", action = "Grab" });

This does not seem to work even for images with no spaces in their names. What am I doing wrong?


Solution

  • By default, IIS looks for existing files and folders when it processes the request from the user. If you have an existing folder or file, then IIS will simply try and retrieve the file from disk rather than passing the request on to the .NET pipeline / routing engine.

    Check to see if you have a folder already called images in your solution. If you do have this folder, I suggest (the easiest method) either changing your controller name or the existing folder name in order to resolve your issues.