Cómo quitar la carpeta /web de la url de Drupal

Instrucciones

Para que el dominio o url de nuestra instalación usando Composer para (Drupal 8, 9 o Drupal commerce) sea: "www.misitio.com" en lugar de "www.misitio.com/web"...

  1. Abrimos el settings.php de nuestro proyecto y añadimos el siguiente código:

    if ( isset($GLOBALS['request']) && '/web/index.php' === $GLOBALS['request']->server->get('SCRIPT_NAME') ) {
        $GLOBALS['request']->server->set('SCRIPT_NAME', '/index.php');
    }
     
  2. Cremos un archivo ".htaccess" con el siguiente contenido y lo subiremos al servidor en nuestra carpeta "public_html"

    <IfModule mod_rewrite.c>
    RewriteEngine on
    # Redirect to the subdirectory because that's where Drupal is installed
    RewriteRule (.*) web/$1 [L]
    </IfModule>
     
  3. Abrimos el archivo .htaccess que trae drupal dentro de la carpeta web y modificamos esta línea, descomentándola y añadiendo /web:

      # Modify the RewriteBase if you are using Drupal in a subdirectory or in a
      # VirtualDocumentRoot and the rewrite rules are not working properly.
      # For example if your site is at http://example.com/drupal uncomment and
      # modify the following line:
         RewriteBase /web

Snippet relacionados