MVC2 如何实现伪静态 .html

七色鸟 2012-08-02 05:06:47
公司是开发门户网站的,为了SEO的优化工作,项目是使用MVC2开发的,现在访问页面需要将路径给我.html的样子。怎么实现?
...全文
400 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
tptptp00 2012-08-06
  • 打赏
  • 举报
回复
没加过当然404
七色鸟 2012-08-04
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

.html的应用程序扩展名映射 你添加过没有
[/Quote]
这个没有加过。
EnjoyFashion 2012-08-03
  • 打赏
  • 举报
回复
这个是全套的

routes.MapRoute("NoAction", "{controller}.html", new { controller = "home", action = "index", id = "" });//无Action的匹配
routes.MapRoute("NoID", "{controller}/{action}.html", new { controller = "home", action = "index", id = "" });//无ID的匹配
routes.MapRoute("Default", "{controller}/{action}/{id}.html", new { controller = "home", action = "index", id = "" });//默认匹配
routes.MapRoute("Root", "", new { controller = "home", action = "index", id = "" });//根目录匹配
deiphi 2012-08-03
  • 打赏
  • 举报
回复
mvc的url本身就是“伪静态”啊,只不过默认是以“目录”的形式。当然,改成.html形式也是可以的。
tptptp00 2012-08-03
  • 打赏
  • 举报
回复
.html的应用程序扩展名映射 你添加过没有
七色鸟 2012-08-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

还可以自己写一个解析路由规则,
routes.Add(new MyRoute(true, hashtable));//注册伪静态
[/Quote]
可有具体的代码?
全局变量 2012-08-03
  • 打赏
  • 举报
回复
还可以自己写一个解析路由规则,
routes.Add(new MyRoute(true, hashtable));//注册伪静态
全局变量 2012-08-03
  • 打赏
  • 举报
回复
"{controller}/{action}.html/{id}"
七色鸟 2012-08-03
  • 打赏
  • 举报
回复
是我配置出错了吗?
应用程序扩展名映射,
.aspx 添加过了,别的还要哪里配置吗?
七色鸟 2012-08-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

请搜索“MVC路由”
这个在路由里面配置就可以了
Global这个文件中


不过还需要html么?一样收录吧
[/Quote]
收录这个不懂,我们有SEO来做,上面领导人说了,项目统一要使用html这样的伪静态!
七色鸟 2012-08-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}.html", // 带有参数的 URL
new { controller = "Home", action = "Index" } // 参数默认值
)……
[/Quote]
这个本地IIS发布试了一下,发现如果在Global.asax.cs中,加上.html竟然打不开网站了。
连以前的路径都没法打开了。

http://192.168.1.125:12/Test/change.html (打不开)
http://192.168.1.125:12/Test/change 路由未改之前,可以打开的,改过后,现在打不开了。




MSDNXGH 2012-08-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}.html", // 带有参数的 URL
new { controller = "Home", action = "Index" } // 参数默认值
)……
[/Quote]
正解
村长_乐 2012-08-02
  • 打赏
  • 举报
回复
请搜索“MVC路由”
这个在路由里面配置就可以了
Global这个文件中


不过还需要html么?一样收录吧
杰拉尔 2012-08-02
  • 打赏
  • 举报
回复
routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}.html", // 带有参数的 URL
new { controller = "Home", action = "Index" } // 参数默认值
);

MVC路由

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧