Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

Ajouter le slash de fin de dossier manquant (Slash Trailing)

Poster un nouveau sujet Imprimer cette discussion    Forum -> URL Rewriting et .htaccess   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
NeoKoD
Nouveau WRInaute

Inscrit le: 13 Déc 2003
Messages: 11

URL permanente de ce messagePosté le : Sam Déc 13, 2003 16:37    Sujet du message: Ajouter le slash de fin de dossier manquant (Slash Trailing)

Bonjour,

Je suis nouveau sur le forum, j'en profite pour vous saluer Smile

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
Remi L.
WRInaute accro
WRInaute accro

Inscrit le: 06 Sep 2003
Messages: 1060

URL permanente de ce messagePosté le : Sam Déc 13, 2003 17:50    Sujet du message: Ajouter le slash de fin de dossier manquant (Slash Trailing)

Mais pourquoi veux-tu toi-même ajouter le slash ?
Apache le fait tout seul, comme un grand, non ?
 
Remi L. Visiter le site web du posteur
NeoKoD
Nouveau WRInaute

Inscrit le: 13 Déc 2003
Messages: 11

URL permanente de ce messagePosté le : Sam Déc 13, 2003 18:05    Sujet du message: Ajouter le slash de fin de dossier manquant (Slash Trailing)

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 :
Code:
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.
 
NeoKoD
Remi L.
WRInaute accro
WRInaute accro

Inscrit le: 06 Sep 2003
Messages: 1060

URL permanente de ce messagePosté le : Sam Déc 13, 2003 19:16    Sujet du message: Ajouter le slash de fin de dossier manquant (Slash Trailing)

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...
 
Remi L. Visiter le site web du posteur
NeoKoD
Nouveau WRInaute

Inscrit le: 13 Déc 2003
Messages: 11

URL permanente de ce messagePosté le : Dim Déc 14, 2003 1:24    Sujet du message: Ajouter le slash de fin de dossier manquant (Slash Trailing)

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 :
Code:
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
 
NeoKoD
nikoshr
WRInaute impliqué
WRInaute impliqué

Inscrit le: 10 Juil 2003
Messages: 319

URL permanente de ce messagePosté le : Dim Déc 14, 2003 10:32    Sujet du message: Ajouter le slash de fin de dossier manquant (Slash Trailing)

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
Code:
RewriteRule (.+)$ $1/ [L]
tu manipules l'URL uniquement en interne, donc rien de visible pour le client (navigateur).
 
nikoshr Visiter le site web du posteur
NeoKoD
Nouveau WRInaute

Inscrit le: 13 Déc 2003
Messages: 11

URL permanente de ce messagePosté le : Dim Déc 14, 2003 10:50    Sujet du message: Ajouter le slash de fin de dossier manquant (Slash Trailing)

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 Smile

Merci
 
NeoKoD
nikoshr
WRInaute impliqué
WRInaute impliqué

Inscrit le: 10 Juil 2003
Messages: 319

URL permanente de ce messagePosté le : Dim Déc 14, 2003 11:12    Sujet du message: Ajouter le slash de fin de dossier manquant (Slash Trailing)

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:
RewriteLog /chemin/pour/les/logs/rewrite.log
RewriteLogLevel 9
 
nikoshr Visiter le site web du posteur
NeoKoD
Nouveau WRInaute

Inscrit le: 13 Déc 2003
Messages: 11

URL permanente de ce messagePosté le : Dim Déc 14, 2003 11:23    Sujet du message: Ajouter le slash de fin de dossier manquant (Slash Trailing)

Ok, j'avais déjà jetté un oeil sur cette page, mais j'ai pas tout pigé.
Pour le RewriteLog en effet cela ne marchait pas dans le .htaccess et en le foutant dans le httpd.conf j'ai pu les faire fonctionner.

Merci
 
NeoKoD
 
Montrer les messages depuis:   
Revenir en haut    Forum -> URL Rewriting et .htaccess Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

Autres sujets de discussion :

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort