With Copilot
Acquia Copilot is a conversational AI connected into our product documentation and knowledge base. Ask Copilot about product features, technical details, troubleshooting and how to get started with Acquia products.
Sign in to use Acquia Copilot
This document contains information about setting base URLs without breaking non-production environments.
Occasionally, it may be necessary to set the $base_url value in a Drupal application’s settings.php file, because a contributed module may require this variable to be set, or an application may have specialized configurations.
Unfortunately, setting this variable can cause issues on Cloud Platform, where there are separate Development, Staging, and Production environments. If it is set unconditionally, the $base_url variable instructs Drupal to rewrite all requests for all environments, which breaks environments to which this variable doesn’t point.
The solution is to make use of the $_ENV['AH_SITE_ENVIRONMENT'] environment variable that is set by the Cloud Platform environment.
Modify and use the following example code as necessary to fit your needs, and be sure to add your Remote Administration environment if your application has one:
if (isset($_ENV['AH_SITE_ENVIRONMENT'])) {
switch ($_ENV['AH_SITE_ENVIRONMENT'])
{
case 'dev': $base_url = 'http://dev.example.com';
break;
case 'test': $base_url = 'http://test.example.com';
break;
case 'prod': $base_url = 'http://www.example.com';
break;
}
}You can further modify the preceding code if there are environments that don’t require $base_url to be explicitly set. For example, if the $base_url variable is required only for Production, you can use the following much shorter code snippet:
if (isset($_ENV['AH_SITE_ENVIRONMENT']) && $_ENV['AH_SITE_ENVIRONMENT'] === 'prod') {
$base_url = 'http://www.example.com';
}If this content did not answer your questions, try searching or contacting our support team for further assistance.
If this content did not answer your questions, try searching or contacting our support team for further assistance.