sobre - Haga que apache se quite automáticamente el www.?
ruta de apache en centos (6)
Por varias razones, como cookies, SEO, y para mantener las cosas simples, me gustaría hacer que apache redirija automáticamente las solicitudes de http://www.foobar.com/anything a http://foobar.com/anything . Lo mejor que se me ocurre es una monstruosidad basada en mod_rewrite, ¿hay alguna forma sencilla y sencilla de decir "Redirige todas las solicitudes de dominio ABC a XYZ"?
PD: Encontré esta pregunta algo relacionada , pero es para IIS y hace lo contrario de lo que quiero. También sigue siendo complejo.
Bastante simple si usas mod_rewrite, como todos lo hacemos;)
Esto es parte del .htaccess de mi sitio web en vivo:
RewriteEngine on
# Catches www.infinite-labs.net and redirects to the
# same page on infinite-labs.net to normalize things.
RewriteCond %{HTTP_HOST} ^www/.infinite-labs/.net$
RewriteRule ^(.*)$ http://infinite-labs.net/$1 [R=301,L]
Como mencionaste usar mod_rewrite, sugeriría una regla simple en tu .htaccess - no me parece monstruoso :)
RewriteCond %{HTTP_HOST} ^www/.foobar/.com$ [NC]
RewriteRule ^(.*)$ http://foobar.com/$1 [L,R=301]
Es tan fácil como:
<VirtualHost 10.0.0.1:80>
ServerName www.example.com
Redirect permanent / http://example.com/
</VirtualHost>
Adapte nombres de host e IP según sea necesario :)
Use un archivo .htaccess con algunas reglas mod_rewrite:
RewriteEngine On
RewriteRule ^www.SERVERNAME(.*) http://SERVERNAME$1 [L,QSA]
No estoy seguro de tener la sintaxis correcta con los $1
allí, pero está bien documentada. L envía una cabecera location: al navegador, y QSA significa Query String Append.
más simple y más fácil de copiar de un sitio a otro:
RewriteCond %{HTTP_HOST} ^www/.(.+)$
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
Eso debería hacer el truco.