Para hacer esto de la manera más sencilla debes tener acceso para crear un archivo con nombre .htaccess en la raiz de tu carpeta pública de apache (/var/www/vhosts/dominio.com/httpdocs). Esto es lo más normal porque puedes subirlo perfectamente por FTP.
Además es necesario que esté activado mod_rewrite en la configuración de Apache (suele ser lo más normal y en Plesk es predefinido).
Sólo tienes que crear el archivo .htaccess o añadirle estas líneas:
RewriteCond %{http_host} ^dominio\.com [NC]
RewriteRule ^(.*)$ http://www.dominio.com/$1 [R=301,L]
Todo el que lo escriba sin www. será redirigido con un código HTTP 301 (Permanent redirection) a la misma URL pero con www.
Si lo que quieres es lo contrario (quitar las www.) el código a añadir es:
RewriteCond %{http_host} ^www.dominio\.com [NC]
RewriteRule ^(.*)$ http://dominio.com/$1 [R=301,L]
20:27, 03.02.2010
¿Y no valdría con añadir un CNAME en los DNS tipo http://WWW.dominio.com ?
20:57, 03.02.2010
@xleon
Muchas gracias por tu comentario. De hecho, el CNAME a las DNS es un requisito para poder hacer lo que decimos.
Pero si tu web se ve tanto con www como sin www y no haces la redirección, para google eso es contenido duplicado, además de que los enlaces que vayan a tu página dividirán su potencia de linking entre los dos dominios (con y sin www). Lo mejor es decidir una de las dos opciones y redireccionar todo el contenido de uno a otro.
17:25, 05.04.2010
Gracias, despues de mucho buscar fue el unico codigo para htaccess que me sirvio XD