Asp.net core (学习笔记 路由和语言 route & language)
更新: 2022-03-22
修订版: ASP.NET Core – Globalization & Localization
https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing?view=aspnetcore-2.1
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/routing?view=aspnetcore-2.1
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization?view=aspnetcore-2.1
这三篇已经有 step by step 的方式了,这里记入一下观点就好了。
1. route 最重要的 2 个功能是
-request url 匹配到 route 然后找出 controller 来处理请求
-反过来通过 controller 匹配 route 生产出 request url
一般上我们 2 个都会用上.
2. route Conventional vs route Attribute
conventional 用于 html page 比较好用, attribute 用于 web api 比较好用
不推荐乱乱用...
3. 常用的 controller + action = page
除了 layout 外, 一般上一个 design 我们算一个 page
通常用 1 route + 1 controller + 1 action 来 handler.
比如 about + AboutController + Index
如果是 services page 又很多的话
通常是 services + ServiceController + Index 表示所有 service
然后 services/service-a + ServiceController + ServiceA 来代表某个 service
如果是链接数据的, services/{serviceUrlTitle} + ServiceController + Detail 来表示
语言
refer :
https://searchengineland.com/the-ultimate-guide-to-multilingual-and-multiregional-seo-157838
https://angular.io/guide/i18n
https://support.google.com/webmasters/answer/189077?hl=en
https://www.seozac.com/en-seo/hreflang-tag/
https://www.zhihu.com/question/20797118
1. 使用 path 来表示语言
www.domain.com/zh-Hans/about-us
path 的好处是容易 maintain, 性价比高,如果是 SEO 的话,自然是弄一个 domain.cn 更好..
2. zh-Hans or zh-CN ?
CN 是区域, zh 是中文, Hans 是 language script 简体. Hant 是繁体
所以 zh-Hans 或 zh-Hans-CN 才正确.
古时候 zh-CN 表示简体, zh-TW 表示繁体,错误的用区域来表达 script 了.
3. google seo 的语言是 ISO 639-1 format, script 是 ISO 15924 区域是 ISO 3166-1 Alpha 2 我没有做所以不管 (看这篇)
seo 做语言要写 alternate,
如果还做区域的话要写 continental
比如 en-US 和 en-GB 是很像的, 只有一些类似 color 和 colour 的区别而已。
SEO 会以为是重复内容的。
4. asp.net core 的流程是, 有一个 request middle 拦截 request 后会从 request 里推测出请求的语言是什么
可以从 cookies, header, queryparams, path 等等. 然后整个访问 scope 里我们就可以通过依赖注入获取到 locale 了.
翻译和 datetime tostring 都会依据这个做处理哦。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
2015-11-13 SQL basic