Welcome to the navigation

Labore culpa ipsum reprehenderit aliqua, sint esse ut cillum sunt excepteur irure sed pariatur, consequat, tempor laboris occaecat in quis non lorem magna veniam, fugiat. Lorem excepteur elit, in deserunt laboris ipsum sunt dolor culpa ea duis cillum proident, do qui ex in ullamco nisi reprehenderit minim irure esse id

Yeah, this will be replaced... But please enjoy the search!

Programmatically rewriting all site and host definitions to HTTPS in Optimizely CMS

Some sites have many host definitions, and some want's to enforce HTTPS within Optimizely CMS.

There are various way to ensure this, this is a routine I wrote to convert all site and host definitions to use HTTPS, except the wildcard host

// ISiteDefinitionRepository siteDefinitionRepository

var sites = _siteDefinitionRepository.List();

foreach (var site in sites)
{
    var writableSite = site.CreateWritableClone();

    if (site.SiteUrl.Scheme == "http")
    {
        writableSite.SiteUrl = new Uri(site.SiteUrl.ToString().Replace("http", "https"));
    }

    var hosts = writableSite.Hosts.Where(x => !x.Name.Equals(HostDefinition.WildcardHostName)); 

    foreach (var writableHost in hosts)
    {
        writableHost.UseSecureConnection = true;
    }

    _siteDefinitionRepository.Save(writableSite);
}

This will turn this

Into this