首页 > 解决方案 > Angular - hashlocationstrategy - 在linkedin上与散列共享链接

问题描述

我正在使用角度和哈希位置策略:

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

如果我想在 LinkedIn 上分享来自我的网站的子路由,例如https://mywebsite.com/#/123 ,则链接显示为https://mywebsite.com/ #/123

在此处输入图像描述

我试图删除 # 但 angular 使用此策略加载正确的页面任何想法来替换 # 或删除它并继续重定向到 angular 中的同一点?

标签: angularredirectlinkedinhashtag

解决方案


正如 Aakash 评论的那样,您的选择是:

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

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

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


推荐阅读