How to Force IE11 Compatibility Mode for Specific Subdomains (e.g., sharepoint.example.com)


9 views

Many enterprises still running IE11 face a common challenge: applying compatibility mode to specific subdomains rather than entire domains. The default behavior forces *.example.com compatibility when you really just need sharepoint.example.com to render in compatibility mode while keeping www.example.com in standards mode.

The most precise control comes through registry settings. Here's how to implement it:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\BrowserEmulation\ClearableListData]
"sharepoint.somedomain.co.uk"="@"

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\BrowserEmulation\DomainFixupData]
"sharepoint.somedomain.co.uk"=dword:00000001

For domain-wide deployment, use Group Policy Preferences:

<GroupPolicy>
  <RegistrySettings clsid="{...}">
    <Registry clsid="..." name="sharepoint.somedomain.co.uk" 
             status="sharepoint.somedomain.co.uk" 
             hive="HKEY_CURRENT_USER" 
             key="Software\Microsoft\Internet Explorer\BrowserEmulation\ClearableListData" 
             type="REG_SZ" 
             value="@"/>
  </RegistrySettings>
</GroupPolicy>

For SharePoint specifically, modify web.config:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="X-UA-Compatible" value="IE=EmulateIE8" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

After implementation, verify with:

navigator.userAgent
document.documentMode

in both affected and unaffected subdomains.


Internet Explorer 11's compatibility mode settings typically apply to entire domains (*.somedomain.co.uk) when configured through Group Policy or registry settings. This becomes problematic when you only need compatibility mode for specific subdomains like sharepoint.somedomain.co.uk while keeping www.somedomain.co.uk in standard mode.

The most reliable method is to implement the X-UA-Compatible meta tag directly in your webpage's HTML header:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=10">
    <title>SharePoint Site</title>
</head>

For SharePoint specifically, you can configure the X-UA-Compatible HTTP header in IIS:

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <add name="X-UA-Compatible" value="IE=10" />
        </customHeaders>
    </httpProtocol>
</system.webServer>

If you must use Group Policy, create a custom XML file for Enterprise Mode:

<rules version="1">
    <emie>
        <domain exclude="true">somedomain.co.uk</domain>
        <domain exclude="false">sharepoint.somedomain.co.uk</domain>
    </emie>
</rules>

Then deploy this via "Use the Enterprise Mode IE website list" policy.

For SharePoint 2013 which often requires compatibility mode, add this to your master page:

<SharePoint:ScriptBlock runat="server">
    var meta = document.createElement('meta');
    meta.httpEquiv = 'X-UA-Compatible';
    meta.content = 'IE=10';
    document.getElementsByTagName('head')[0].appendChild(meta);
</SharePoint:ScriptBlock>

After implementation, verify the solution works by:

  • Checking F12 Developer Tools - Emulation tab
  • Using document.documentMode in console
  • Confirming www subdomain remains in Edge mode

Remember that compatibility mode may:

  • Disable modern JavaScript features
  • Slow down rendering performance
  • Break CSS3 features

The solution should be temporary while you migrate to modern browsers.