Asp.net core (学习笔记 路由和语言 route & language)
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/
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 区域我没有做所以不管 (上面 refer 里有)
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 都会依据这个做处理哦。
Asp.net core (学习笔记 路由和语言 route & language)的更多相关文章
- Asp.Net Core学习笔记:入门篇
Asp.Net Core 学习 基于.Net Core 2.2版本的学习笔记. 常识 像Django那样自动检查代码更新,自动重载服务器(太方便了) dotnet watch run 托管设置 设置项 ...
- ASP.NET Core 学习笔记 第一篇 ASP.NET Core初探
前言 因为工作原因博客断断续续更新,其实在很早以前就有想法做一套关于ASP.NET CORE整体学习度路线,整体来说国内的环境的.NET生态环境还是相对比较严峻的,但是干一行爱一行,还是希望更多人加入 ...
- ASP.NET Core 学习笔记 第三篇 依赖注入框架的使用
前言 首先感谢小可爱门的支持,写了这个系列的第二篇后,得到了好多人的鼓励,也更加坚定我把这个系列写完的决心,也能更好的督促自己的学习,分享自己的学习成果.还记得上篇文章中最后提及到,假如服务越来越多怎 ...
- Asp.net Core学习笔记
之前记在github上的,现在搬运过来 变化还是很大的,感觉和Nodejs有点类似,比如中间件的使用 ,努力学习ing... 优点 不依赖IIS 开源和跨平台 中间件支持 性能优化 无所不在的依赖注入 ...
- ASP.NET Core 学习笔记 第二篇 依赖注入
前言 ASP.NET Core 应用在启动过程中会依赖各种组件提供服务,而这些组件会以接口的形式标准化,这些组件这就是我们所说的服务,ASP.NET Core框架建立在一个底层的依赖注入框架之上,它使 ...
- ASP.NET Core 学习笔记 第四篇 ASP.NET Core 中的配置
前言 说道配置文件,基本大多数软件为了扩展性.灵活性都会涉及到配置文件,比如之前常见的app.config和web.config.然后再说.NET Core,很多都发生了变化.总体的来说技术在进步,新 ...
- ASP.NET Core 学习笔记 第五篇 ASP.NET Core 中的选项
前言 还记得上一篇文章中所说的配置吗?本篇文章算是上一篇的延续吧.在 .NET Core 中读取配置文件大多数会为配置选项绑定一个POCO(Plain Old CLR Object)对象,并通过依赖注 ...
- Asp.net core 学习笔记 ( Data protection )
参考 : http://www.cnblogs.com/xishuai/p/aspnet-5-identity-part-one.html http://cnblogs.com/xishuai/p/a ...
- Asp.net core 学习笔记 SignalR
refer : https://kimsereyblog.blogspot.com/2018/07/signalr-with-asp-net-core.html https://github.com/ ...
随机推荐
- Linux re
正则表达式并不是一个工具程序,而是一个字符串处理的标准依据,如果想要以正则表达式的方式处理字符串,就得使用支持正则表达式的工具,例如grep.vi.sed.asw等. 注意:ls不支持正则表达式. g ...
- x86汇编
● 实模式下32bit处理器,与8086兼容,例如loop 指令结束标志,只判断cx,而不是ecx ● IO端口 实际上是一些寄存器,在IO接口当中.向外设读写数据,要通过读写IO端口来实现. 有些计 ...
- ubuntu系统上如何添加新的根证书
如果自己部署了一个CA系统,或者使用openssl生成了一个自签名的证书,如何让ubuntu系统信任这些证书呢 添加证书: 首先,复制pem格式的根证书,重命名为 .crt格式 然后,执行下边的命令 ...
- 程序中打印当前进程的调用堆栈(backtrace)
为了方便调式程序,产品中需要在程序崩溃或遇到问题时打印出当前的调用堆栈.由于是基于Linux的ARM嵌入式系统,没有足够的空间来存放coredump文件. 实现方法,首先用__builtin_fram ...
- PrimeNG之DataTable
--数据表显示在表格格式数据. Basic Import import {DataTableModule,SharedModule} from 'primeng/primeng'; source &l ...
- rebuild online时意外中断 再次重建时报错解决方法
rebuild online时意外中断 再次重建时报错 SQL> alter index PARTY.IDX_CM_INDIV_CUSTOMER_4 rebuild online; alter ...
- Jenkins在windows服务器上依赖的maven仓库目录
1.在windows server 2008上,maven仓库路径为: C:\Users\用户名\.m2 2.在windows server 2003上(加入域的服务器),maven仓库路径为: C: ...
- 注解@RestController与@Controller的区别
开发RESTful API 时,一般都会在Controller上加上@Controller注解,但是有时候加上@RestController,当同事问为什么的时候,我也一脸懵逼,默默的看了资料,现在就 ...
- Tomcat服务安全加固
Tomcat服务默认启用了管理后台功能,使用该后台可直接上传 war 文件包对站点进行部署和管理.由于运维人员的疏忽,可能导致管理后台存在空口令或者弱口令的漏洞,使得黑客或者不法分子可以利用该漏洞直接 ...
- Python Scrapy爬虫速成指南
序 本文主要内容:以最短的时间写一个最简单的爬虫,可以抓取论坛的帖子标题和帖子内容. 本文受众:没写过爬虫的萌新. 入门 0.准备工作 需要准备的东西: Python.scrapy.一个IDE或者随便 ...