2009-04-29 8 views
0

내 웹 사이트에 다음 routeMaps 설정이 있습니다. 로컬에서 실행 및 디버깅이 완벽하게 작동합니다. 내 서버 (www)에 웹 사이트를 게시 할 수 있지만 루트 페이지 만 작동합니다 (http://www.domain.com). 컨트롤러 (http://www.domain.com/Project)를 지정하자마자 작동을 멈 춥니 다 ...ASP.NET MVC 게시 후 내 라우팅이 작동하지 않는 이유는 무엇입니까?

무엇이 잘못 되었나요?

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 
+0

게시 서버 구성은 무엇입니까? –

답변

2

당신은 IIS6 서버에 배포하고 있습니까? 그렇다면 detailed here을 가져 가야 할 몇 가지 단계가 있습니다. 그렇지 않다면 오류를 조금 더 설명 할 수 있습니까? 정확히 "작동을 멈 춥니 다 ..."라는 의미입니까?

+0

정확히 무슨 일이 일어나는 것 같네요. IIS6은 MVC 라우팅에 필요한 URL 다시 쓰기 기능을 지원하지 않습니다. 그러나 해결 방법은 매우 간단합니다. – MojoFilter

+0

사실, 응용 프로그램 구성에서 aspnet_isapi.dll에 와일드 카드 매핑을 추가해야했습니다. 고마워! – Ropstah

0

IIS5에 배포하고 있습니까? 그렇다면 this을 따르십시오.

관련 문제