public override string GetHtml()
{
string pageUri = string.Empty;
SiteData sd = SiteData.CurrentSite;
if (sd != null) {
pageUri = sd.DefaultCanonicalURL;
if (this.ContentPage == null) {
this.ContentPage = SiteData.GetCurrentPage();
}
if (ContentPage != null) {
if (ContentPage.NavOrder == 0) {
pageUri = sd.MainCanonicalURL;
} else {
pageUri = sd.DefaultCanonicalURL;
}
}
} else {
pageUri = SiteData.DefaultDirectoryFilename;
}
string lnk = String.Format("<link rel=\"canonical\" href=\"{0}\" />", pageUri);
if (this.Enable301Redirect) {
HttpContext ctx = HttpContext.Current;
if (!SiteData.CurrentSite.MainCanonicalURL.ToLowerInvariant().Contains(@"://" + CMSConfigHelper.DomainName.ToLowerInvariant())) {
ctx.Response.Status = "301 Moved Permanently";
ctx.Response.AddHeader("Location", pageUri);
}
}
return lnk;
}