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/contenido-duplicado-con-al-final-de-la-url-o-sin-ella-t302.html
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!

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:
Código: Seleccionar todo
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:
Código: Seleccionar todo
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:
Código: Seleccionar todo
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: