URL canoniques mais besoin d'exclure des répertoires

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

Oncle Tom
WRInaute passionné
WRInaute passionné
 
Messages: 812
Inscription: Lun Mar 31, 2003 11:16

URL canoniques mais besoin d'exclure des répertoires

Message le Lun Mai 17, 2004 12:21

Bonjour,

je suis en train de reprendre tout mon site et j'ai basculé à l'URL rewriting en essayant de suivre au maximum la formule "l'URL veut dire quelque chose".
Mon adresse est de la forme -http://www.site.ext/dossier1/dossier2/..., un peu à la webrankinfo ;)

Or le problème c'est que j'ai 2 dossiers (forums et un autre d'administration) qui répondent à mes règles de réécritures ... le truc c'est que je ne veux pas.
J'ai un .htaccess de ce type :

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on

#php_value session.use_trans_sid 0
php_flag magic_quotes_gpc Off

#Translation vers les nouvelles URL
#RedirectMatch 301 ^\?cat=([a-z]+)$ /$1/

#dossier exclus du rewriting
RewriteCond %{REQUEST_URI}  !^(.*)/forums/.*

#Rewrite spécifiques
RewriteRule ^(dossiers)/([0-9a-z]+)_page([0-9]{1,2}).htm$ index.php?cat=$1&lib=$2&page=$3 [NC,L]
RewriteRule ^(tutoriaux)/([0-9a-z]+)_page([0-9]{1,2}).htm$ index.php?cat=$1&lib=$2&page=$3 [NC,L]
RewriteRule ^(infos)/(contact)/(team)_([0-9]{1,2}).htm$ index.php?cat=$1&action=$2&lib=$3&admin=$4 [NC,L]
RewriteRule ^(membre)/(connexion).htm$ index.php?cat=$1&lib=$2 [NC,L,QSA]
RewriteRule ^(message)/([0-9a-z]+)_([0-9a-z]+).htm$ index.php?cat=$1&lib=$2&msg=$3 [NC,L]

#Rewrite URL
RewriteRule ^([a-z]+)/$ index.php?cat=$1 [NC,L]
RewriteRule ^([a-z]+)/([0-9a-z]+).htm$ index.php?cat=$1&lib=$2 [NC,L]
RewriteRule ^([a-z]+)/([0-9a-z]+)/$ index.php?cat=$1&action=$2 [NC,L]
RewriteRule ^([a-z]+)/([0-9a-z]+)/([0-9a-z]+).htm$ index.php?cat=$1&action=$2&lib=$3 [NC,L]


Mon exclusion sur le répertoire "forums" ne fonctionne pas :/ peut être est-ce dû au fait que je teste en local (ça donne une url du style -http://localhost/Nom du site/forums

Si quelqu'un a une astuce je suis preneur ;)
Merci d'avance


XenonDelee
WRInaute passionné
WRInaute passionné
 
Messages: 919
Inscription: Mar Avr 06, 2004 12:09

Message le Lun Mai 17, 2004 12:31

je suis pas un pro du rewriting mais si tu mets ton fichier .htaccess dans le répertoire pour lequel tu veux qu'il yait du rewriting, il ne s'appliquera pas aux autres répertoires !

c'est plus simple non :lol:

Oncle Tom
WRInaute passionné
WRInaute passionné
 
Messages: 812
Inscription: Lun Mar 31, 2003 11:16

Message le Lun Mai 17, 2004 15:36

Les répertoires rewrités sont virtuels, ça se passe comme des pseudos frames.
J'ai un problème avec les répertoires réels, considérés comme virtuel d'après mon .htaccess. Je voudrais les exclure des règles et j'peux pas changer ;)


XenonDelee
WRInaute passionné
WRInaute passionné
 
Messages: 919
Inscription: Mar Avr 06, 2004 12:09

Message le Lun Mai 17, 2004 16:30

The Jedi a écrit:Les répertoires rewrités sont virtuels, ça se passe comme des pseudos frames.
J'ai un problème avec les répertoires réels, considérés comme virtuel d'après mon .htaccess. Je voudrais les exclure des règles et j'peux pas changer ;)


ah ouais alors là ça me dépasse complètement :cry:

désolé ...

J'espère que tu trouveras ta réponse :lol:

ps : c'est quoi l'intérêt de créer des répertoires virtuels et des architectures aussi alambiquées ?? ( question bête je suppose :wink: )


XenonDelee
WRInaute passionné
WRInaute passionné
 
Messages: 919
Inscription: Mar Avr 06, 2004 12:09

Message le Lun Mai 17, 2004 16:34

OK, je viens de regarder d'un peu plus près ton fichier .htaccess, je crois que j'ai compris ...

mais est-ce que tu n'aurais pas intérêt dans ce cas à faire des url dans ce genre

tutorial-monsujet-12.htm

comme ça tu mets tes mots clés dans ton nom de fichier et tu évites les répertoires virtuels ...

A+

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Lun Mai 17, 2004 18:21

Un RewriteCond ne s'applique qu'à la règle suivante, donc dans ton .htaccess actuel il ne s'applique que sur
Code: Tout sélectionner
RewriteRule ^(dossiers)/([0-9a-z]+)_page([0-9]{1,2}).htm$ index.php?cat=$1&lib=$2&page=$3 [NC,L]


Le plus simple est probablement de remplacer la condition par
Code: Tout sélectionner
RewriteRule   .*/forums  - [L]

qui arrête l'UR quand /forums est rencontré dans la requête.

Oncle Tom
WRInaute passionné
WRInaute passionné
 
Messages: 812
Inscription: Lun Mar 31, 2003 11:16

Message le Mer Mai 19, 2004 9:32

Arf ça s'arrête qu'au premier ... je comprends mieux ^^
Effectivement avant de lire ta réponse j'ai fait à peu près comme toi
Code: Tout sélectionner
RewriteRule ^(forums|admin)/(.*)$ $1/$2 [QSA,L]


Sauf que ton affaire est plus propre donc merci beaucoup ;) tu m'sauves la vie car j'aurais pas pu continuer sinon ^^


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 :

  • Calcul du nombre de backlinks
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités