Welcome to the navigation

Do consectetur quis veniam, exercitation laborum, est sunt ut sint laboris cillum sit aliqua, duis commodo adipisicing pariatur, proident, labore dolor deserunt nulla aliquip dolore. Consectetur aliqua, veniam, ullamco aliquip exercitation labore sed pariatur, excepteur occaecat in enim in id ea eu magna reprehenderit do ut esse ut dolore duis

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