首页 新闻 会员 周边

“开源中国”的页面怎么跳转的

0
悬赏园豆:5 [待解决问题]

例如该网站的https://www.oschina.net/question/1442265_2310885这个目录,它是不是通过控制器返回的html,而不是直接访问的页面?
我认为它是先访问question控制器下的一个action,然后action返回一个html页面显示。如果是这样为啥不直接做一个页面然后这样访https://www.oschina.net/question?id=1442265_2310885

灬丶的主页 灬丶 | 初学一级 | 园豆:2
提问于:2019-09-20 10:37
< >
分享
所有回答(3)
0

首先,这样做的目的可能是为了seo优化,以及好看吧

然后,以 .net mvc 框架为例,它可以通过定义路由来实现此效果

routes.MapRoute(
    "Question",
    "question/{userId}_{questionId}",
    new {controller="Question", action="Details"},
    new {userId= @"\d+",questionId= @"\d+" }
);

附mvc 路由文档地址

易墨 | 园豆:449 (菜鸟二级) | 2019-09-20 11:12

我刚百度了一下,他们说seo和页面静态化,看起来好复杂

支持(0) 反对(0) 灬丶 | 园豆:2 (初学一级) | 2019-09-20 11:15

@灬丶: 不会的,还可以通过特性标记 Route("/question/{userId}_{questionId}") 来指定

支持(0) 反对(0) 易墨 | 园豆:449 (菜鸟二级) | 2019-09-20 11:21
@易墨: 我看了有一篇文章,https://cloud.tencent.com/developer/article/1448606,这个应该是我想要的结果,看上去好复杂。
支持(0) 反对(0) 灬丶 | 园豆:2 (初学一级) | 2019-09-20 11:23

@灬丶: 所以你是想做伪静态,还是生成静态页,或者是做缓存~

Route("/question/{userId}_{questionId}.html")
支持(0) 反对(0) 易墨 | 园豆:449 (菜鸟二级) | 2019-09-20 11:29

@易墨: 我只是了解一下,如果用控制器只是为了实现这种url我觉得没什么意义

支持(0) 反对(0) 灬丶 | 园豆:2 (初学一级) | 2019-09-20 11:32

@灬丶: 文章不就是说的静态化嘛。
如果是伪静态的话这样子就可以了
Route("/question/{userId}_{questionId}.html")

支持(0) 反对(0) 易墨 | 园豆:449 (菜鸟二级) | 2019-09-20 11:33

@灬丶: 那你应该找应用缓存,cdn缓存的相关资料了

支持(0) 反对(0) 易墨 | 园豆:449 (菜鸟二级) | 2019-09-20 11:34

@易墨:我这里是前后端分离的项目,访问api我可以用resultful这样的也可以实现,前后端分离的不适合你说的那种吧

支持(0) 反对(0) 灬丶 | 园豆:2 (初学一级) | 2019-09-20 11:35

@灬丶: 前后端分离不得看你怎么分,用的啥方法吗,我只是举个栗子~

支持(0) 反对(0) 易墨 | 园豆:449 (菜鸟二级) | 2019-09-20 11:37

@易墨: ok,多谢。

支持(1) 反对(0) 灬丶 | 园豆:2 (初学一级) | 2019-09-20 11:40
0

页面模式早就已经过世了,现在是mvc,再然后就是前后端分离。

至于路由导航问题,多的是为了搜索引擎友好吧。

张朋举 | 园豆:1915 (小虾三级) | 2019-09-21 13:25
0

你可以问问红薯

ycyzharry | 园豆:25651 (高人七级) | 2019-09-21 23:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册