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
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 accro

- Messages: 1511
- Inscription: Jeu Déc 02, 2004 15:20
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
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
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 accro

- Messages: 1511
- Inscription: Jeu Déc 02, 2004 15:20
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.
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.
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
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: Dim Déc 31, 2006 16:47
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 :
- Google rachète Adscape Media
- Comparer les classes C de 2 adresses IP
- L'underscore bientôt un séparateur de mots pour Google ?
- Précisez vos recherches sur Google par la profondeur en répertoires
- Où placer son fichier Sitemap ? A la racine ?
- Tiret ou underscore ? Enfin la réponse !
- Bonnes pratiques de référencement : sous-domaines ou répertoires ?
- Vocabulaire du référencement : noms de domaine et URL
- Etude de la qualité des résultats de Google.fr, Ask.fr, Orange.fr
- Liste complète des produits et services de Google
- 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
- Sous répertoires virtuels en une seule règle ?
- [Résolu][url_rewriting]Créer des répertoires virtuels
- "Répertoires virtuels", règles ignorées ...
- Repertoires "virtuels"
- Aqwords nombre de requetes et clics reels
- Distinguer un robot d'un utilisateur
- Fiscalité revenus adsense - frais réels
- Comment distinguer les robots des visiteurs ?
- Rewrite de répertoires et sous-répertoires
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


le forum