正在尝试使用规范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);
答案 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);
}