Angular - hashlocationstrategy - 在 linkedin 上使用 hash 共享 link

Angular - hashlocationstrategy - sharing link on linkedin with hash

我正在使用 angular 和 hashlocationstrategy:

我的网站默认 link 是 https://mywebsite.com/#/

如果我想在 LinkedIn 上分享我网站的子路线,例如 https://mywebsite.com/#/123 link 显示为 https://mywebsite.com/ #/123

我尝试删除 # 但 angular 使用此策略加载正确的页面 有什么想法可以替换 # 或删除它并继续重定向到 angular 中的同一点吗?

正如 Aakash 所说,您的选择是:

  1. 使用散列定位策略并让Angular处理路由
  2. 不要使用散列定位策略并将您的服务器设置为始终服务 index.html(或者如果找不到任何 x.html 至少返回服务)

这是因为 browsers/servers 忽略#'s 之后的任何内容。这意味着链接到 http://example.com/#/something 将加载 example.com 的 index.html 页面(或服务器设置为默认的任何页面)。一旦提供索引,Angular 加载,读取路由而不忽略# 之后的所有内容并继续处理路由。

如果没有#,转到相同的 http://example.com/something 将尝试加载 something.html,对于 angular 应用程序不存在,因此服务器将 404。服务器需要设置为在此类事件中为基地 index.html 提供服务。一旦提供了所述索引,Angular 加载、读取路由并继续处理路由。