• 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/

    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 区域我没有做所以不管 (上面 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 都会依据这个做处理哦。

  • 相关阅读:
    数据库
    Xpath表达式
    错误:向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们
    xmlhttp status各类Http请求状态(status)及其含义
    配置ckeditor3.0 和ckfinder
    程序默认用管理员身份打开(vs2010)
    (转)CKFinder破解的方法,去掉提示
    无法嵌入互操作类型“SHDocVw.ShellWindowsClass”。请改用适用的接口
    ASP.NET页面执行顺序
    回调函数
  • 原文地址:https://www.cnblogs.com/keatkeat/p/9953315.html
Copyright © 2020-2023  润新知