首页 新闻 会员 周边 捐助

ASP.NET MVC4项目传到虚拟机上之后默认路由无法被服务器识别

0
悬赏园豆:30 [已解决问题] 解决于 2013-07-06 20:52

我在路由配置文件里配置了/Home/Index为默认路由,而且在本地测试中访问http://localhost:6747/是可以直接显示控制器Home下面的Index视图页面的。
我把整个项目上传到空间商提供的虚拟机上之后,默认路由就不能被识别了!
访问http://xxxxx.com时提示未未找到默认文件拒绝访问,只有我访问http://xxxxx.com/Home时才能显示我要的那个/Home/Index默认首页。
请问这个应该怎么处理啊?是虚拟主机配置的问题,还是我的项目代码的问题?
我的虚拟主机在线控制面板设置了这样的默认文件,还是不行。。求大神帮忙。。

eecc的主页 eecc | 初学一级 | 园豆:41
提问于:2013-06-30 12:25
< >
分享
最佳答案
0

试试在web.config中加上

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
收获园豆:30
dudu | 高人七级 |园豆:30925 | 2013-06-30 12:29

谢dudu!这个配置代码已经设置过了,不然我在本地访问就不会正常了。。关键是传到服务器上就不能识别了,如何是好?

eecc | 园豆:41 (初学一级) | 2013-06-30 12:36

@eecc: 服务器上应用程序池是集成模式吗?

dudu | 园豆:30925 (高人七级) | 2013-06-30 12:39

@dudu: 这个我不清楚也。。。。这个会影响它的路由配置啊?

eecc | 园豆:41 (初学一级) | 2013-06-30 12:42

@eecc: http://xxxxx.com/Index.aspx 能不能访问?

dudu | 园豆:30925 (高人七级) | 2013-06-30 12:45

@dudu: 不能啊,我的这个站点是MVC框架开发的本来就没这个文件,访问的URL都是由路由配置文件重新解析的。

eecc | 园豆:41 (初学一级) | 2013-06-30 12:51

@eecc: 如果路由配置正确,应该是能正常访问的,http://xxxxx.com/default.aspx 能不能访问?

dudu | 园豆:30925 (高人七级) | 2013-06-30 12:59

@dudu: 不能啊,根目录都没有default.aspx这个文件。我在本地服务器测试是完全正常的,访问http://localhost/直接可以显示/Home下面的Index视图,但放在线上服务器就失效了。我的文件目录是这个样子:

eecc | 园豆:41 (初学一级) | 2013-06-30 13:58

@dudu: 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace Kuaibank.com
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }
}

这是路由配置文件的代码,dudu帮看看有木有问题?

eecc | 园豆:41 (初学一级) | 2013-06-30 14:13

@eecc: 建议先确认一下应用程序池是否是集成模式

dudu | 园豆:30925 (高人七级) | 2013-06-30 14:16

@dudu: 这个太奇葩了,我把它的首页默认文件添加了一个Views/Index.cshtml就可以了!!!奇葩啊!!!

eecc | 园豆:41 (初学一级) | 2013-07-01 18:31

@eecc: 可能与虚拟主机的处理机制有关

dudu | 园豆:30925 (高人七级) | 2013-07-01 18:35
其他回答(2)
0

。。。mvc相关的dll需要手动拷贝哦,发布不出来的,有些。

Supper_litt | 园豆:1036 (小虾三级) | 2013-07-01 12:33
0

为哈不结贴呢?太对不起大家的热心了

Meen | 园豆:321 (菜鸟二级) | 2013-07-06 09:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册