Práctica: Redirecciones 301 con apache
Como ya hemos visto anteriormente el código 301 significa que nuestro contenido se ha movido permanentemente. Esto suele ocurrir cuando cambiamos de plataforma o hacemos una migración de nuestra página web. Si no queremos perder posicionamiento o el valor del Page Rank o la importancia que tienen nuestras páginas web en los buscadores, es recomendable controlar este error e indicarle a los buscadores cual va a ser el nuevo enlace de página web.
Esto se realiza con el RedirectMatch del módulo mod_alias de apache. Además vamos a tener que activar el redireccionamiento módulo mod_rewirte (igual que en url's amigables).
El ejemplo más sencillo es el siguiente. Redireccionamos la página home.html de nuestro directorio raíz a Google. Esta es la línea que hay que incluir en el fichero .htaccess:
redirectMatch 301 /home.html http://www.google.com
Ejemplos:
Si queremos redireccionar: http://www.diocesanas.org/cursos/index.php?id_curso=12345 a: http://cursos.egibide.org/cursos.php?id_curso=12345
RedirectMatch 301 /cursos/index.php(.*) http://cursos.egibide.org/cursos.php$1
Redirección example.com a www.example.com:
RewriteEngine On RewriteCond %{HTTP_HOST} !^www.example.com$ [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
Redirección de www.example.com a example.com:
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.example\.com$ RewriteRule ^/?$ "http\:\/\/example\.com\/" [R=301,L]