Ajouter le slash de fin de dossier manquant (Slash Trailing)
9 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- NeoKoD
- Nouveau WRInaute

- Messages: 11
- Inscription: 13 Déc 2003
Ajouter le slash de fin de dossier manquant (Slash Trailing)
Bonjour,
Je suis nouveau sur le forum, j'en profite pour vous saluer
Je débute avec l'UR et j'aimerais faire une régle pour ajouter les '/' de fin qui manquerais sur les noms de dossier.
Exemple :
http://site.com/accueil
en http://site.com/accueil/
J'ai voulu partir de l'exemple du site Apache :
http://httpd.apache.org/docs-2.0/misc/rewriteguide.html
( Section Trailing Slash Problem )
En cherchant sur le forum j'ai trouvé un thread correspondant mais la personne n'avait pas trouvé de solution et c'était orienté vers une solution php détectant l'erreur 404 ce que je trouve dommage..
J'ai tenté plusieurs règles dont celle du site Apache :
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [R]
Celle-ci ne fonctionne pas ( mod_rewrite: maximum number of internal redirects reached. Assuming configuration error. Use 'RewriteOp
tions MaxRedirects' to increase the limit if neccessary.
)
J'ajouterais par la suite une condition pour exclure de cette régle les urls finissant par un nom de fichier mais pour l'instant j'aimerais déjà faire fonctionner la redirection du "/dossier" en "/dossier/"
Pour infos j'ai d'autres régles qui fonctionnent bien et je comprend les expressions régulières.
Merci d'avance pour votre aide
Je suis nouveau sur le forum, j'en profite pour vous saluer
Je débute avec l'UR et j'aimerais faire une régle pour ajouter les '/' de fin qui manquerais sur les noms de dossier.
Exemple :
http://site.com/accueil
en http://site.com/accueil/
J'ai voulu partir de l'exemple du site Apache :
http://httpd.apache.org/docs-2.0/misc/rewriteguide.html
( Section Trailing Slash Problem )
En cherchant sur le forum j'ai trouvé un thread correspondant mais la personne n'avait pas trouvé de solution et c'était orienté vers une solution php détectant l'erreur 404 ce que je trouve dommage..
J'ai tenté plusieurs règles dont celle du site Apache :
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [R]
Celle-ci ne fonctionne pas ( mod_rewrite: maximum number of internal redirects reached. Assuming configuration error. Use 'RewriteOp
tions MaxRedirects' to increase the limit if neccessary.
)
J'ajouterais par la suite une condition pour exclure de cette régle les urls finissant par un nom de fichier mais pour l'instant j'aimerais déjà faire fonctionner la redirection du "/dossier" en "/dossier/"
Pour infos j'ai d'autres régles qui fonctionnent bien et je comprend les expressions régulières.
Merci d'avance pour votre aide
- NeoKoD
- Nouveau WRInaute

- Messages: 11
- Inscription: 13 Déc 2003
Apache ne le fait pas par défaut, a moins de créer des Alias pour chaque dossier du genre "Alias accueil accueil/" ..
Mon but est de mettre en place cette conditions dans le .htaccess car je n'aurais pas la main sur le fichier de config httpd.conf
Y a une chose étrange, théoriquement, Apache reconnait si le fichier demandé n'est pas un fichier mais un dossier et doit renvoyer le code d'erreur 301. Cependant lorsque j'ajoute ces 2 lignes dans mon .htaccess :
Le fichier 301 n'est jamais appelé dans le cas d'un Trailing Slash manquant.. pourtout les 404 fonctionnes bien.
Mon but est de mettre en place cette conditions dans le .htaccess car je n'aurais pas la main sur le fichier de config httpd.conf
Y a une chose étrange, théoriquement, Apache reconnait si le fichier demandé n'est pas un fichier mais un dossier et doit renvoyer le code d'erreur 301. Cependant lorsque j'ajoute ces 2 lignes dans mon .htaccess :
- Code: Tout sélectionner
ErrorDocument 404 /404.html
ErrorDocument 301 /301.html
Le fichier 301 n'est jamais appelé dans le cas d'un Trailing Slash manquant.. pourtout les 404 fonctionnes bien.
-

Remi L. - WRInaute passionné

- Messages: 1063
- Inscription: 6 Sep 2003
http://httpd.apache.org/docs/mod/mod_dir.html
Et Apache génère effectivement dans ce cas un 301, mais (en tout cas chez OVH je ne sais pas ailleurs) il me semble bien que tu ne peux pas détourner l'erreur...
Et Apache génère effectivement dans ce cas un 301, mais (en tout cas chez OVH je ne sais pas ailleurs) il me semble bien que tu ne peux pas détourner l'erreur...
- NeoKoD
- Nouveau WRInaute

- Messages: 11
- Inscription: 13 Déc 2003
Apparement le code d'erreur n'est pas détournable, cependant ne peut-on pas faire une règle qui convertit l'url qui n'a pas de slash final tout simplement ?
Si je met juste ça :
Je devrais avoir pour toutes les urls un '/' terminal en plus non ?
J'ai a chaque fois un message m'indiquant qu'il boucle ( maximum internal redirect )
Le coup du [L] ne sert-il pas a lui dire de s'arrêter a cette régle ?
Y a t-il des tutoriaux en français sur l'UR plus détaillé que ceux de WRI ( qui sont très bon mais pas assez précis pour mon cas )
Merci
Si je met juste ça :
- Code: Tout sélectionner
RewriteRule (.+)$ $1/ [L]
Je devrais avoir pour toutes les urls un '/' terminal en plus non ?
J'ai a chaque fois un message m'indiquant qu'il boucle ( maximum internal redirect )
Le coup du [L] ne sert-il pas a lui dire de s'arrêter a cette régle ?
Y a t-il des tutoriaux en français sur l'UR plus détaillé que ceux de WRI ( qui sont très bon mais pas assez précis pour mon cas )
Merci
- nikoshr
- WRInaute occasionnel

- Messages: 320
- Inscription: 10 Juil 2003
Les règles que tu utilises, elles sont dans un httpd.conf ou un .htaccess ? Parce qu'il y a une subtilité avec le .htaccess : une fois que l'URL a été réécrite, elle subit à nouveau tout le traitement d'interprétation et repasse donc par le l'URL Rewriting. S'il n'y a pas de condition d'arrêt adéquate, on boucle. Sinon, il ne reste plus qu'à mettre en place un log du rewriting et voir ce que ca donne.
Sur
Sur
- Code: Tout sélectionner
RewriteRule (.+)$ $1/ [L]
- NeoKoD
- Nouveau WRInaute

- Messages: 11
- Inscription: 13 Déc 2003
Hummm ok je vois,
Etrange ce comportement, je pensais que l'url été soumises aux autres conditions si on avait pas mis le [L] mais je ne savais pas qu'elle repasserais une seconde fois dans le .htaccess ..
J'ai vu sur la doc apache une directive de log, je vais m'en servir c'est une bonne idée
Merci
Etrange ce comportement, je pensais que l'url été soumises aux autres conditions si on avait pas mis le [L] mais je ne savais pas qu'elle repasserais une seconde fois dans le .htaccess ..
J'ai vu sur la doc apache une directive de log, je vais m'en servir c'est une bonne idée
Merci
- nikoshr
- WRInaute occasionnel

- Messages: 320
- Inscription: 10 Juil 2003
En fait, il semblerait que l'URL Rewriting (et le reste d'ailleurs) dans les .htaccess soit une véritable Bidouille™ , voir la doc de l'URL Rewriting, section Internal Processing/API phases, point 2. Apparemment, ils sont les premiers étonnés que ca marche. Et pour pouvoir activer les logs, il faut avoir accès au httpd.conf
- Code: Tout sélectionner
RewriteLog /chemin/pour/les/logs/rewrite.log
RewriteLogLevel 9
9 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Comment faire ? si sans slash de fin -> 301 sur avec slash
- url avec slash et sans slash
- .htaccess : RedirectPermanent ? slash ou pas slash ?
- Slash en fin d'url ?
- Redirection 302 sans slash de fin
- DocumentRoot pas de slash à la fin du path ?
- Slash sous dossier
- Site accessible avec 1 ou 2 slash à la fin de l'url
- Gestion du slash en fin d'URL : duplication de contenu
- Pages dupliquées avec des slash en fin d'URL ?
Consultez la description détaillée des produits ou services de Google suivants : Google Health
- Suggestion de mots-clés
Cet outil vous fournit une liste de mots sémantiquement proches du mot que vous fournissez en entrée. Il peut servir à vous donner des idées de mots à utiliser sur vos pages, voire de contenus à ajouter.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
