Redirigir Drupal a no www a través de settings.php

Cuando actualiza el núcleo de Drupal, el archivo .htaccess se sobrescribe con la última versión. Esto también significa que se perderán los redireccionamientos de www en ese archivo y tendrá que volver a aplicarlos, lo cual es molesto y un problema si se olvida de hacerlo después de la actualización. La razón por la que es importante mostrar solo las URL con OR sin www. frente a ellos, es evitar lo que Google considera contenido duplicado.

En lugar de redirigir a través de .htaccess, también puede hacerlo a través de settings.php, que no cambiará después de las actualizaciones del núcleo. Pon esto en tu settings.php. También funcionará para subpáginas, como www.example.com/about-us:

Snippet
// Remove www
if ($_SERVER['HTTP_HOST'] == 'www.example.com') {
header('HTTP/1.0 301 Moved Permanently');
header('Location: http://example.com'. $_SERVER['REQUEST_URI']);
exit();
}

Redirigir a través de Apache

También puede definir la redirección en su servidor Apache, en un archivo llamado, por ejemplo, /etc/apache2/sites-enabled/example.com.conf. Esto podría ser preferible, ya que ocurre antes en el proceso, pero requiere acceso al servidor apache. Tenga en cuenta que todo lo que esté después de com / se transferirá a la página redirigida, por lo que http://www.example.com/testing se convierte en http://example.com/testing . Inserte esto en la parte superior del archivo, antes del resto de la configuración del host virtual:

Snippet
# redirect www to non-www
<VirtualHost *:80>
  ServerName www.example.com
  Redirect permanent / http://example.com/
</VirtualHost>
<VirtualHost *:80>
  ServerName example.com
  ...
</VirtualHost>
Tags

Comments