我希望你能帮我解决下面的问题。
我在IIS7上使用ASP.NET MVC 3,并希望我的应用程序支持用户名的点。
这是我的Global.asax看起来像:(http:// localhost / {username})
routes.MapRoute( "UserList","{username}",new { controller = "Home",action = "ListAll" } );
应用程序工作时,我访问其他页面,如http://localhost/john.lee/details等。
但主要的用户页面不工作,我想的应用程序像Facebook的工作,其中http://www.facebook.com/john.lee被支持。
我使用下面的代码,它没有为我工作:
<httpRuntime relaxedUrlToFileSystemMapping="true" />
我能够使用下面的代码,让应用程序接受点,但我绝对不想使用下面的代码为许多不同的原因,请告诉我有一种方法来克服这个问题。
<modules runAllManagedModulesForAllRequests="false" />
解决方法
向web.config中添加UrlRoutingHandler。这需要你的url有点更具体(f.e。/Users/john.lee)。
这迫使每个以/ Users开头的网址被视为MVC网址:
这迫使每个以/ Users开头的网址被视为MVC网址:
<system.webServer> <handlers> <add name="UrlRoutingHandler" type="System.Web.Routing.UrlRoutingHandler,System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" path="/Users/*" verb="GET"/> </handlers> </system.webServer>