首页 新闻 会员 周边

.NET mvc 首页静态化怎么做呢

0
悬赏园豆:5 [已解决问题] 解决于 2013-07-31 22:31

我不信.NET mvc无法实现首页静态化,但是手中确实没有思路。似乎放在网站根目录下而不是views里,静态页面可以访问,但是IIS里设置默认文档也没用啊,网站首页打开的还是views/home/index.cshtml这个页面,并没有去访问根目录下的 index.html,郁闷啊,园中的实践主义者和大牛们有何良方。小弟跪拜了!!

flyjonson的主页 flyjonson | 初学一级 | 园豆:103
提问于:2013-07-27 11:05
< >
分享
最佳答案
0

配置一条路由规则即可

收获园豆:5
dudu | 高人七级 |园豆:30994 | 2013-07-27 13:28

如果配置规则,说明走的还是MVC,就失去了静态化的优势了。

路过秋天 | 园豆:4787 (老鸟四级) | 2013-07-28 13:32

老大,给句配置呗,相信园中的小弟们翘首以盼呢,否则这.NET mvc的路走不下去了

flyjonson | 园豆:103 (初学一级) | 2013-07-29 08:12

@flyjonson: 

配置代码如下:

routes.IgnoreRoute("");
dudu | 园豆:30994 (高人七级) | 2013-07-29 09:32

@dudu: 老大,用了这句,别的配置都不起作用了,那如何是好啊

flyjonson | 园豆:103 (初学一级) | 2013-07-29 16:20

@flyjonson: 我这里测试正常,routes.IgnoreRoute("");放在routes.MapRoute之前

dudu | 园豆:30994 (高人七级) | 2013-07-29 16:33

@dudu: 在不启用二级域名的情况下确实是正确的,但是如果启用了二级域名的话,所有的二级域名都走这条配置,直接跑到网站首页去了

flyjonson | 园豆:103 (初学一级) | 2013-07-30 09:50

@flyjonson: 

实现IRouteConstraint接口:

public class DomainXXXXConstraint : IRouteConstraint
{
    public bool Match(HttpContextBase httpContext, Route route, 
        string parameterName, RouteValueDictionary values, 
        RouteDirection routeDirection)
    {
        return httpContext.Request.Url.Host.ToLowerInvariant() == "XXXX";
    }
}

然后:

routes.IgnoreRoute("", new DomainXXXXConstraint());
dudu | 园豆:30994 (高人七级) | 2013-07-30 11:52

@dudu: 老大,这个约束无效啊,和没用一样,或者我直接routes.IgnoreRoute("", false);在二级域名时也照样不行。

flyjonson | 园豆:103 (初学一级) | 2013-07-30 14:36

@flyjonson: 在约束中你是如何判断的?

dudu | 园豆:30994 (高人七级) | 2013-07-30 18:04

@dudu:用你上面的代码啊,xxx直接用网站域名代替,判断下访问的是否是首页,然后返回bool类型,可是无论我返回的是true还是false,routes.ignoreroute("",new domainxxxconstraint())都无效,打开二级域名还是一级域名,都是打开网站根目录下的index.html

flyjonson | 园豆:103 (初学一级) | 2013-07-30 22:38

@flyjonson: 试试:

routes.IgnoreRoute("", new { DomainConstraint = new DomainXXXXConstraint() });
dudu | 园豆:30994 (高人七级) | 2013-07-31 10:53

@dudu: 欧了,老大就是老大啊,万分感谢,这问题困扰我都快一年了,终于解脱了

flyjonson | 园豆:103 (初学一级) | 2013-07-31 22:31
其他回答(1)
0

你把index.html中代码拷到index.cshtml中多省事

Mr 88 | 园豆:238 (菜鸟二级) | 2013-07-27 12:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册