Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/12/2012, 10:11
chussman81
 
Fecha de Ingreso: noviembre-2012
Mensajes: 3
Antigüedad: 11 años, 5 meses
Puntos: 0
Redirección 301

Hola chicos, tengo una duda con las redirecciones 301 para evitar duplicados.

Actualmente tengo mi .htaccess configurado para conseguir que me rediriga:

http://dominio.com --> http://www.dominio.com
http://www.dominio.com/index.php --> http://www.dominio.com
y
http://www.dominio.com/index.html --> http://www.dominio.com


Hasta aquí todo perfecto. El problema es que si yo introduzco a mano en el navegador otra página que cuelgue del index.php también me la muestra, por ejemplo:

http://www.dominio.com/index.php/contacto

y yo quiero que me haga el redirect automáticamente a

http://www.dominio.com/contacto

Y así evitar duplicados para Google

Lo puedo hacer con la siguiente sentencia:

RedirectMatch 301 /index.php/contacto(.*) http://www.dominio.com/contacto/$1


Pero tendría que ir añandiendo cada página de mi sitio web en el .htaccess y no se si se puede hacer algo para que lo haga automáticamente. Os dejo el código que tengo en mi .htaccess para ver que es lo que tengo mal. Muchas Gracias!!


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*(index|home)\.html?\ HTTP/
RewriteRule ^(([^/]+/)*)(index|home)\.html?$ http://www.dominio.com/$1 [R=301,L]
#

RewriteCond %{THE_REQUEST} !^POST
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.php\ HTTP/
RewriteCond %{SERVER_PORT}>s ^(443>(s)|[0-9]+>s)$
RewriteRule ^(([^/]+/)*)index\.php$ http%2://www.dominio.com/$1 [R=301,L]
#
RewriteCond %{HTTP_HOST} !^(www\.dominio\.com)?$
RewriteRule (.*) http://www.dominio.com/$1 [R=301,L]