2009-04-29 18 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に従ってください。

関連する問題