首页 新闻 搜索 专区 学院

mvc6 伪静态 *.html 和二级域名 www.domain.com/subdomain 如何实现?

0
悬赏园豆:15 [已解决问题] 解决于 2016-04-16 19:41

如题,版本为rc1,windows 2012R2

freewzx2005的主页 freewzx2005 | 初学一级 | 园豆:8
提问于:2016-03-12 15:38
< >
分享
最佳答案
0

伪静态我认为是不能实现的。MVC6 也没看到有这个心特性,所以我觉得会使用mvc4的规则,就是凡遇到 js css html,都不走router,而是直接访问资源。

http://stackoverflow.com/questions/16948933/why-css-and-js-files-bypass-asp-net-mvc-routes

当然也可以在配置中打开 runAllManagedModulesForAllRequests,  让所有的request都走路由,但是会影响运行速度的。

http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html 这文章有提及。

 

如果真的要做伪静态,我觉得应该会从hander出发去考虑,也许能够实现,

 

你说的二级域名,应该就是在http-server中加多一个虚拟目录就可以。如果有反向代理服务器,就是加多一个转发——遇到

大概就是遇到url为 www.domain.com/subdomain 就转到 192.168.0.33:8083 之类的规则。

 

收获园豆:15
沉默的糕点 | 小虾三级 |园豆:1786 | 2016-03-13 08:57

谢谢

1.伪静态,我这么写,好像可以正常解析

routes.MapRoute(
"articleroute",
"article/detail/{id}/ddd.html",
defaults: new { controller = "Article", action = "Detail" });

2.二级域名,这样写也正常,但问题是 about这个地方是变量,不知道怎么写?

routes.MapRoute(
name: "Aboutroute",
template: "About",
defaults: new { controller = "Blog", action = "List" });

好像要自己获得url后,自己来解析才能做到。问题是不会写

 

freewzx2005 | 园豆:8 (初学一级) | 2016-03-13 17:08

@freewzx2005: 我也要试试,之前弄过js和css是不行的。html可能性。谢谢楽

沉默的糕点 | 园豆:1786 (小虾三级) | 2016-03-22 20:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册