Aller au contenu

ajout automatique de slash


Sujets conseillés

Bonjour,

je voudrais rajouter le slash automatiquement lorsque un visiteur saisit

http://www.domaine.ltd/repertoire au lieu de http://www.domaine.ltd/repertoire/

Normalement, Apache rajoute le slash automatiquement, sauf...

...si www.domaine.ltd est déjà une redirection (du genre domaine qui pointe sur un sous domaine)

Quelqu'un sait faire ça ?

Lien vers le commentaire
Partager sur d’autres sites

Il te suffit juste de refaire une redirection supplémentaire (.htaccess ou httpd.conf) avec une règle de réecriture de style :

RewriteRule /repertoire /repertoire/

Lien vers le commentaire
Partager sur d’autres sites

C'est un peu plus compliqué que ça ;)

Cette règle fera l'affaire:

RewriteEngine  on
RewriteCond    %{REQUEST_FILENAME}  -d
RewriteRule    ^(.+[^/])$    $1/    [R]

Lien vers le commentaire
Partager sur d’autres sites

Merci Dan,

mais ça ne fonctionne pas : car avec ta règle je me retrouve avec une url du type

http://www.sousdomaine.domaineprincipal.lt...ine/repertoire/

j'ai donc modifié comme suit, avec [/] devant la variable pour être sûr de ne prendre que le dernier repertoire :

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^[/](.+[^/])$ http://www.mondomaine.ltd/$1/ [R]

Même en faisant ça, je me retrouve encore avec cette url :

http://www.sousdomaine.domaineprincipal.ltd/repertoire/

Pas évident ces redirections avec un multi domaine ovh !!

Lien vers le commentaire
Partager sur d’autres sites

La dernière mouture que j'ai essayé est celle-ci :

RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^(.+[^/])$ http://www.monsite.ltd/$1/ [R]

et ça marche ! (merci Dan)

y a t-il un problème particulier de mettre l'url en argument ?

Lien vers le commentaire
Partager sur d’autres sites

Désolé, j'avais oublié le RewriteBase, et surtout j'avais réfléchi en terme de serveur dédié, et non de mutualisé OVH. Ces derniers ont des règles particulières en matière de réécriture.

Tu peux essayer en rajoutant simplement un / devant le $1 de ma règle :)

Lien vers le commentaire
Partager sur d’autres sites

ça marche en effet, bravo, mais écrire l'url, bien que moins élégant, permet de récupérer aussi le cas où il manquerait les www.

jamais content :rolleyes:

Lien vers le commentaire
Partager sur d’autres sites

De toutes manières, le fait de mettre le flag [R] forcera une réécriture externe, donc mod_rewrite rajoutera de lui-même le http://...

Mais ça ne gêne pas de le préciser toii-même ;)

Dan

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...