Welcome to the navigation

Id quis occaecat veniam, culpa eu anim sint reprehenderit amet, incididunt deserunt commodo ipsum non in ex officia voluptate tempor do ut et exercitation ut. Occaecat deserunt fugiat ad aute dolor ullamco nostrud veniam, qui commodo magna adipisicing in voluptate excepteur aliquip esse ut sunt do irure laboris duis sint

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