Distinguer répertoires virtuels et réels
10 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- ALkyD
- Nouveau WRInaute

- Messages: 6
- Inscription: 6 Nov 2005
Distinguer répertoires virtuels et réels
Bonjour,
Je me suis créé un système de répertoires virtuels dans mon .htaccess avec le RewriteRule suivant :
http://www.toto.com/truc/ vers rubrique.php?rep=truc
Enfin bref, tout marche jusqu'ici. Le problème, c'est à propos des répertoires réels. Si je fais http://www.toto.com/fichiers/ (ou 'fichiers/' est un répertoire réel), Apache le prend comme un répertoire virtuel et du coup, j'atterris sur la page rubrique.php?rep=fichiers.
Comment faire en sorte qu'Apache puisse distinguer les répertoires virtuels des répertoires réels, donc ne rediriger que ceux qui sont fictifs vers rubrique.php?rep=xxx et accéder normalement à ceux qui sont réels, sans toucher à l'URL rewriting ?
Merci par avance.
Je me suis créé un système de répertoires virtuels dans mon .htaccess avec le RewriteRule suivant :
http://www.toto.com/truc/ vers rubrique.php?rep=truc
Enfin bref, tout marche jusqu'ici. Le problème, c'est à propos des répertoires réels. Si je fais http://www.toto.com/fichiers/ (ou 'fichiers/' est un répertoire réel), Apache le prend comme un répertoire virtuel et du coup, j'atterris sur la page rubrique.php?rep=fichiers.
Comment faire en sorte qu'Apache puisse distinguer les répertoires virtuels des répertoires réels, donc ne rediriger que ceux qui sont fictifs vers rubrique.php?rep=xxx et accéder normalement à ceux qui sont réels, sans toucher à l'URL rewriting ?
Merci par avance.
-

Fab le Fou - WRInaute passionné

- Messages: 1511
- Inscription: 2 Déc 2004
Re: Distinguer répertoires virtuels et réels
ALkyD a écrit:Comment faire en sorte qu'Apache puisse distinguer les répertoires virtuels des répertoires réels, donc ne rediriger que ceux qui sont fictifs vers rubrique.php?rep=xxx et accéder normalement à ceux qui sont réels, sans toucher à l'URL rewriting ?Merci par avance.
Il te faut utiliser un modèle commun pour tes répertoires virtuels de manières à les distinguer des autres, par exemple : -http://www.example.com/r-truc/ , -http://www.example.com/r-truc2/, etc
-

hebmaster - WRInaute passionné

- Messages: 1133
- Inscription: 22 Déc 2005
ALkyD a écrit:Et ensuite ? Comment Apache fait la différence en suivant ton idée ? N'y a-t-il pas un RewriteCond à placer avant ?
il n'y a rien a ajouter a part le r- dans ton htaccess...
donne moi ton code et je te montrerai comment faire
- ALkyD
- Nouveau WRInaute

- Messages: 6
- Inscription: 6 Nov 2005
Le voilà :
Ce n'est donc pas possible qu'Apache fasse la différence entre répertoire réel et virtuel sans suivre une charte de nommage pour les noms des dossiers (comme r_ au début des dossiers virtuels) ? C'est quand même sacrément ennuyeux, car si c'est réellement le cas, ça m'oblige à renommer tous mes répertoires virtuels (une quarantaine)...
- Code: Tout sélectionner
RewriteRule ^([a-zA-Z0-9_]+)/$ rubrique.php?r_rewrite=$1 [L,QSA]
Ce n'est donc pas possible qu'Apache fasse la différence entre répertoire réel et virtuel sans suivre une charte de nommage pour les noms des dossiers (comme r_ au début des dossiers virtuels) ? C'est quand même sacrément ennuyeux, car si c'est réellement le cas, ça m'oblige à renommer tous mes répertoires virtuels (une quarantaine)...
-

Fab le Fou - WRInaute passionné

- Messages: 1511
- Inscription: 2 Déc 2004
Une autre astuce que tu peux utiliser c'est que pour tes répertoires réels tu remplaces les liens pointant vers la racine par des liens pointant vers index.php.
Là du coup, ta règle de réécriture ne s'appliquera pas.
Là du coup, ta règle de réécriture ne s'appliquera pas.
-

Serious - WRInaute passionné

- Messages: 2438
- Inscription: 21 Nov 2005
ALkyD a écrit:Ce n'est donc pas possible qu'Apache fasse la différence entre répertoire réel et virtuel sans suivre une charte de nommage pour les noms des dossiers?
Si. Il y a un test pour ca, je ne me souviens plus lequel mais il existe. Regarde la doc de RewriteCond.
-

jeanluc - WRInaute accro

- Messages: 3062
- Inscription: 3 Mai 2004
Je n'ai pas testé, mais il me semble que tu devrais pouvoir résoudre le problème avec quelque chose comme ceci:
Jean-Luc
- Code: Tout sélectionner
RewriteRule ^repertoire_reel1\/ - [L]
RewriteRule ^repertoire_reel2\/ - [L]
RewriteRule ^repertoire_reel3\/ - [L]
RewriteRule ^([a-zA-Z0-9_]+)/$ rubrique.php?r_rewrite=$1 [L,QSA]
Jean-Luc
- ALkyD
- Nouveau WRInaute

- Messages: 6
- Inscription: 6 Nov 2005
jeanluc a écrit:Je n'ai pas testé, mais il me semble que tu devrais pouvoir résoudre le problème avec quelque chose comme ceci:
- Code: Tout sélectionner
RewriteRule ^repertoire_reel1\/ - [L]
RewriteRule ^repertoire_reel2\/ - [L]
RewriteRule ^repertoire_reel3\/ - [L]
RewriteRule ^([a-zA-Z0-9_]+)/$ rubrique.php?r_rewrite=$1 [L,QSA]
Jean-Luc
Ca marche pour des répertoires prédéfinis. Mais si j'ai 50 répertoires réels, ca m'oblige à écrire 50 règles...
Je vais regarder la doc de RewriteCond...
- epsimaster
- Nouveau WRInaute

- Messages: 3
- Inscription: 31 Déc 2006
Bonjour, et bonne année,
Si je me suis inscrit à ce forum c'est avant tout pour répondre à ta question.
Personnellement j'utilise les lignes suivantes :
Le .htaccess vérifiera donc la présence "physique" des répertoires et fichiers demandés en lien ou dans la barre d'adresse. S'il existe, pas de redirection.
J'espère t'avoir aidé.
P.S. : Un [Résolu] et c'est réglé.
Si je me suis inscrit à ce forum c'est avant tout pour répondre à ta question.
Personnellement j'utilise les lignes suivantes :
- Code: Tout sélectionner
# Si le fichier existe, ne pas faire la redirection
RewriteCond %{REQUEST_FILENAME} !-f
# Si le répertoire existe, ne pas faire la redirection
RewriteCond %{REQUEST_FILENAME} !-d
Le .htaccess vérifiera donc la présence "physique" des répertoires et fichiers demandés en lien ou dans la barre d'adresse. S'il existe, pas de redirection.
J'espère t'avoir aidé.
P.S. : Un [Résolu] et c'est réglé.
10 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 :
- Répertoires virtuels
- URL rewriting et répertoires virtuels
- Multilingue et sous repertoires virtuels
- repertoires virtuels au fonctionnement aleatoire
- [url rewriting] Répertoires Virtuels
- Redirection 404 et répertoires virtuels
- Rewrite - Répertoires virtuels - Chemin relatif
- Transformer une arborescence de répertoires virtuels
- Créer des répertoires virtuels avec htaccess
- Sous répertoires virtuels en une seule règle ?
- Google rachète Adscape Media - 16-02-2007
- Etude de la qualité des résultats de Google.fr, Ask.fr, Orange.fr - 11-04-2008
- Bilan du référencement Google en 2007 et conseils pour 2008 - 10-01-2008
- Liste complète des produits et services de Google - 19-02-2007
- L'underscore bientôt un séparateur de mots pour Google ? - 24-07-2007
- Google rachète BlindType (saisie sur écran tactile) - 04-10-2010
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
