No te pierdas nuestras otras creaciones:
La-biblioteca.com | Cineactual.es | Dedemonios.shop


Contenido duplicado con / al final de la URL o sin ella  Contenido duplicado con / al final de la URL o sin ella

Valoración de éste post
4.5 / 5 de 2336 votos



Mensajes: 791


Puntos totales:

Enhorabuena!

34




El contenido de este artículo o información está sujeto a una licencia Creative Commons BY (CC-BY), puedes divulgar públicamente este contenido pero deberás hacer mención del autor: Kernel e indicar la dirección web de esta página: https://www.exabyteinformatica.com/tienda/foro/viewtopic.php?f=6&t=302

The content of this article or any related information is under the Creative Commons license BY, you can republish this content freely but you must mention the author of this article: Kernel and indicate the URL of this page: https://www.exabyteinformatica.com/tienda/foro/viewtopic.php?f=6&t=302

Bajo licencia de Creative Commons


Uno de los errores imperceptibles cuando generamos contenido duplicado es el hecho de no controlar si nuestras url's terminan o no en /. Es decir, imaginemos la siguiente situación:

http://www.tudominio.ext/pagina1
http://www.tudominio.ext/pagina1/

Aparentemente parece la misma URL pero si ponemos en el navegador la primera sin la / y luego la segunda con la / y vemos que las direcciones siguen siendo diferentes significa que estamos generando contenido duplicado! :shock:

Para solucionar el tema del trailing slash (/) y que pongamos la dirección que pongamos el sistema redireccione solo a una url, deberemos editar el archivo .htaccess de nuestra raiz principal de la siguiente manera:

Si queremos que siempre se añada automáticamente un trailing slash al final de la URL, añadiremos el siguiente código:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301]


No debemos sustituir ningún parámetro, las línias de código son copiar-pegar.

Si por lo contrario deseamos que cualquier redirección sea sin un trailing slash final deberemos añadir este otro código en vez del anterior:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^\.localhost$ [NC]
RewriteRule ^(.+[^/])/$ http://%{HTTP_HOST}/$1 [R=301,L]


Es posible que no nos interesa quitar o poner automáticamente el trailing slash en algunos directorios de nuestro sitio web, si queremos discriminar en que directorio no queremos que afecte la regla anterior fijémonos en el siguiente ejemplo:

RewriteCond %{HTTP_HOST} !^\.tudominio\.ext\$ [NC]
RewriteCond %{REQUEST_URI} !/directorio_al_que_NO_queremos_aplicar_la_regla/$
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]


Listo! Ahora tendremos una única URL para el trailing slash o sin él. :)



No te pierdas el tema anterior: Problema de indexación

Salta al siguiente tema: Contenido duplicado en URL's con MAYÚSCULAS y minúsculas

Quizás también te interese:


Mensajes: 194

Ubicación: Delante del ordenador

Puntos totales:

Enhorabuena!

204





Fantástico post, solo añadir que si ya hay un conjunto RewriteEngine on con sus RewriteCond, solo deberemos añadir la útlima de las líneas. :thumbsup:

¿se puede votar solo una vez? :D



Volver a Contenido


cron