Il y a quelques mois, j’ai du forcer la présence d’un « / » (slash) à la fin de toutes les urls d’un site afin d’en améliorer le SEO.

Pour ce faire, il y a évidemment une partie du coté code pur (refaire tous les liens dans le site par exemple) mais surtout les redirections des pages sans le slash vers les pages avec le slash.

Pour ça, il y a 2 solutions : dans le code, ou via Apache. Cette 2ème solution est beaucoup plus simple et rapide à mettre en oeuvre, et surtout plus performante. Les quelques lignes suivantes dans votre fichier de configuration de votre VirtualHost.

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

Vous pouvez bien évidemment aussi mettre ce code dans votre fichier .htaccess si vous n’avez pas accès au fichier de conf VirtualHost.