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 所说,您的选择是:
- 使用散列定位策略并让Angular处理路由
- 不要使用散列定位策略并将您的服务器设置为始终服务 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 加载、读取路由并继续处理路由。
我正在使用 angular 和 hashlocationstrategy:
我的网站默认 link 是 https://mywebsite.com/#/
如果我想在 LinkedIn 上分享我网站的子路线,例如 https://mywebsite.com/#/123 link 显示为 https://mywebsite.com/ #/123
我尝试删除 # 但 angular 使用此策略加载正确的页面 有什么想法可以替换 # 或删除它并继续重定向到 angular 中的同一点吗?
正如 Aakash 所说,您的选择是:
- 使用散列定位策略并让Angular处理路由
- 不要使用散列定位策略并将您的服务器设置为始终服务 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 加载、读取路由并继续处理路由。