ngweb Posté 23 Mars 2006 Posté 23 Mars 2006 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 ?
Siddartha Posté 23 Mars 2006 Posté 23 Mars 2006 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/
Dan Posté 23 Mars 2006 Posté 23 Mars 2006 C'est un peu plus compliqué que ça Cette règle fera l'affaire: RewriteEngine onRewriteCond %{REQUEST_FILENAME} -dRewriteRule ^(.+[^/])$ $1/ [R]
ngweb Posté 23 Mars 2006 Auteur Posté 23 Mars 2006 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 !!
ngweb Posté 23 Mars 2006 Auteur Posté 23 Mars 2006 RewriteEngine onRewriteCond %{REQUEST_FILENAME} -d RewriteRule ^[/](.+[^/])$ http://www.mondomaine.ltd/$1/ [R] Avec RewriteBase / c'est encore plus élégant, mais toujours pas le bon résultat
ngweb Posté 24 Mars 2006 Auteur Posté 24 Mars 2006 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 ?
Dan Posté 24 Mars 2006 Posté 24 Mars 2006 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
ngweb Posté 24 Mars 2006 Auteur Posté 24 Mars 2006 ç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
Dan Posté 24 Mars 2006 Posté 24 Mars 2006 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant