avec ou sans slash = affichage du rewriting ou non ?

Nouveau WRInaute
Hello,

J'utilise le code ci-dessous qui fonctionne parfaitement, à un détail près :

1/ si je tape www.exemple.fr/images
l'url est modifiée en www.exemple.fr/dossier/fr/images

2/ si je tape www.exemple.fr/images/
l'url n'est pas modifiée et pointe bien vers le nouveau répertoire.

Question : Pourquoi le cas 1 affiche-t-il l'url modifiée ?!

Code:
Options +FollowSymlinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.exemple\.fr$
RewriteCond $1 !^dossier/fr [NC]
RewriteRule ^(.*)$ /dossier/fr/$1 [QSA,L]

RewriteCond %{HTTP_HOST} ^exemple\.fr$ [NC] 
RewriteRule ^(.*)$ http://www.exemple.fr/$1 [R=301,L]
 
WRInaute passionné
si /dossier/fr/images est un répertoire c'est à cause de la directive DirectoryIndex
dans ce cas il faut essayer :
Code:
Options +FollowSymlinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.exemple\.fr$
RewriteCond $1 !^dossier/fr [NC]
RewriteCond %{DOCUMENT_ROOT}/dossier/fr/$1 -d
RewriteRule ^(.*[^/])$ /$1/ [R=301,QSA,L]

RewriteCond %{HTTP_HOST} ^www\.exemple\.fr$
RewriteCond $1 !^dossier/fr [NC]
RewriteRule ^(.*)$ /dossier/fr/$1 [QSA,L]

RewriteCond %{HTTP_HOST} ^exemple\.fr$ [NC]
RewriteRule ^(.*)$ http://www.exemple.fr/$1 [R=301,L]
 
Discussions similaires
Haut