views:

332

answers:

2

Hi,

i've got the following routeMaps setup for my website. Running and debugging locally works perfectly. I can publish the website to my server (www) but only the root page works (http://www.domain.com). As soon as I specify a controller (http://www.domain.com/Project) it stops working...

What am i doing wrong?

Global.asax.vb

' Note: For instructions on enabling IIS6 or IIS7 classic mode, 
' visit http://go.microsoft.com/?LinkId=9394802

Public Class MvcApplication
Inherits System.Web.HttpApplication

Shared Sub RegisterRoutes(ByVal routes As RouteCollection)
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}")

    ' MapRoute takes the following parameters, in order:
    ' (1) Route name
    ' (2) URL with parameters
    ' (3) Parameter defaults

    routes.MapRoute("ProjectsByCategory", "Project/Category/{id}", _
                    New With {.controller = "Project", .action = "ListByCategory", .id = ""}, _
                    New With {.id = "^[0-9]+"})


    routes.MapRoute( _
        "Default", _
        "{controller}/{action}/{id}", _
        New With {.controller = "Project", .action = "Index", .id = ""} _
    )

End Sub

Sub Application_Start()
    Common.LoadEntitySpacesFactory()
    RegisterRoutes(RouteTable.Routes)
End Sub
End Class
+2  A: 

Are you deploying to an IIS6 server? If so there are some steps you need to take detailed here. If not, can you explain the error a little more - what exactly does "it stops working..." mean?

Steve Willcock
It sounds like this is exactly what's happening. IIS6 doesn't support the URL rewriting-ish features that MVC routing needs. The workaround is pretty simple, though.
MojoFilter
True, I needed to add Wildcard mapping to aspnet_isapi.dll in the application configuration. Thx!
Ropstah
A: 

Are you deploying to IIS5? If so follow this.

Dan