角度SSR规范化

时间:2019-10-30 13:51:31

标签: angular angular-universal canonical-link canonicalization

正在尝试使用规范URL进行Angular SSR。 AM使用以下代码,实际上,这对于HTTP链接可以正常工作。我的问题是Canonical网址显示的是HTTP链接,而实际上我的网站使用的是HTTPS。如何解决此问题.. ???

let link: HTMLLinkElement = this.doc.createElement('link');
        link.setAttribute('rel', 'canonical');
        this.doc.head.appendChild(link);
        let url = this.doc.URL;
        link.setAttribute('href', url);

1 个答案:

答案 0 :(得分:0)

对我有用

constructor(@Inject(DOCUMENT) private document: any) {}

updateCanonical(url: string) {
    const canonicalUrl = this.siteUrl + '/' + url;
    const head = this.document.getElementsByTagName('head')[0];
    var element: HTMLLinkElement = this.document.querySelector(`link[rel='canonical']`) || null;
    if (element == null) {
      element = this.document.createElement('link') as HTMLLinkElement;
      head.appendChild(element);
    }
    element.setAttribute('rel', 'canonical');
    element.setAttribute('href', canonicalUrl);
  }
相关问题