Redirects to external URLs are not allowed

Instrucciones

OPCIÓN 1

Pasos para solucionar el error "Redirects to external URLs are not allowed by default":

  1. Abre el archivo settings.php y añade el o los dominios que utilizas para conectarte a tu web, dentro del apartado "Trusted Host".
    $settings['trusted_host_patterns'] = [
      '^mywebsite\.com$',
      '^www\.mywebsite\.com$',
    ];
  2. A continuación, añade las siguientes líneas, justo debajo del bloque que acabas de añadir:
    if (isset($GLOBALS['request']) and '/var/www/mywebsite.com/datos/web/index.php' === $GLOBALS['request']->server->get('SCRIPT_NAME')) {
        $GLOBALS['request']->server->set('SCRIPT_NAME', '/index.php');
    }
  3. Por último, asegúrate de que dentro de la carpeta /web, existe un archivo .htaccess, con la siguiente declaración:
      # If your site is running in a VirtualDocumentRoot at http://example.com/,
      # uncomment the following line:
      RewriteBase /

OPCIÓN 2 (Drupal en Subdirectorio)

  1. En la carpeta public_html, añadir o editar el .htaccess:

    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^(www.)?DOMINIO.com$
    RewriteCond %{REQUEST_URI} !^/SUBFOLDER/web/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /SUBFOLDER/web/$1
    RewriteCond %{HTTP_HOST} ^(www.)?DOMINIO.com$
    RewriteRule ^(/)?$ web/index.php [L]
    </IfModule>
     
  2. Abre el archivo settings.php y añade el o los dominios que utilizas para conectarte a tu web, dentro del apartado "Trusted Host".
    $settings['trusted_host_patterns'] = [
      '^mywebsite\.com$',
      '^www\.mywebsite\.com$',
    ];
  3. Añade, al final de tu archivo settings.php el siguiente código, modificando SUBFOLDER.

if (isset($GLOBALS['request']) and '/SUBFOLDER/web/index.php' === $GLOBALS['request']->server->get('SCRIPT_NAME')) {
    $GLOBALS['request']->server->set('SCRIPT_NAME', '/index.php');
}
 

Snippet relacionados