apache-2.2 – ¿Redirigir URL dentro de Apache VirtualHost?

Pregunta:

Tengo un servidor dedicado con Apache, en el que configuré algunos VirtualHosts. He configurado uno para manejar el dominio www y el dominio que no es www.

Mi archivo VH .conf para www:

<VirtualHost *>
  DocumentRoot /var/www/site
  ServerName www.example.com
  <Directory "/var/www/site">
    allow from all
  </Directory>
</VirtualHost>

Con este .htaccess :

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

¿Existe una forma sencilla de redirigir www a la versión sin www? Actualmente estoy enviando ambas versiones al mismo DocumentRoot y usando .htaccess pero estoy seguro de que debo poder hacerlo en el archivo VirtualHost.

Respuesta:

Resulta que las reglas mod_rewrite están bien en el archivo VirtualHosts, aparte de la regla RewriteBase . Terminé con esto:

<VirtualHost *>
  ServerName www.example.com
  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^www.example.com
  RewriteRule ^/(.*)$ http://example.com/$1 [L,R=301]
</VirtualHost>

EDITAR: siguiendo el consejo de joschi en los comentarios, ahora estoy usando esta versión simplificada usando la directiva Redirect de mod_alias :

<VirtualHost *>
  ServerName www.example.com
  Redirect 301 / http://example.com/
</VirtualHost>

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım