You're running a multisite installation, and you need to map multiple domains to a multisite.
The sites.php file can be used to do just that. With a multisite, Drupal will attempt to determine where the settings.php file for a requested domain is located. The documentation in the settings.php file explains this method well:
/* * The configuration file to be loaded is based upon the rules below.
* * The configuration directory will be discovered by stripping the
* website's hostname from left to right and pathname from right to
* left. The first configuration file found will be used and any
* others will be ignored. If no other configuration file is found
* then the default configuration file at 'sites/default' will be used.
* * For example, for a fictitious site installed at
* http://www.drupal.org:8080/mysite/test/, the 'settings.php' file is searched
* for in the following directories:
* 1. sites/www.drupal.org.mysite.test
* 2. sites/drupal.org.mysite.test
* 3. sites/org.mysite.test
* 4. sites/www.drupal.org.mysite
* 5. sites/drupal.org.mysite
* 6. sites/org.mysite
* 7. sites/www.drupal.org
* 8. sites/drupal.org
* 9. sites/org
* 10. sites/default
* */
Drupal is good at determining what folder to route a request to, but there may be situations in which the default logic does not suffice. The goal of the sites.php
file is to allow you to override this logic and specify a custom location for the settings.php
file. The contents of the file are minimal, and you may set the logic. Inside of the sites.php
file, you need to set an array called $sites
.
The concept of sites.php
, on Acquia hosting, is to have a single directory for Dev, Stage and Prod environments for each multisite: sites/sitename1 sites/sitename2 sites/sitename3
Each of these directories contains a settings.php
file that is environment aware, using variables to correctly identify and interact with the database, and other aspects of the hosting environment. Into the sites/sites.php
you would then identify the URLs that relate to that directory:
Dev Environment Domains
$sites['exampledev.prod.acquia-sites.com'] = 'default';
$sites['example1dev.example.com'] = 'sitename1';
$sites['example2dev.example.com'] = 'sitename2';
$sites['example3dev.example.com'] = 'sitename3';
$sites['exampletest.prod.acquia-sites.com'] = 'default';
$sites['example1test.example.com'] = 'sitename1';
$sites['example2test.example.com'] = 'sitename2';
$sites['example3test.example.com'] = 'sitename3';
$sites['example.prod.acquia-sites.com'] = 'default';
$sites['www.example1.com'] = 'sitename1';
$sites['www.example2.com'] = 'sitename2';
$sites['www.example3.com'] = 'sitename3';
If this content did not answer your questions, try searching or contacting our support team for further assistance.
Wed Oct 22 2025 08:59:29 GMT+0000 (Coordinated Universal Time)