IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

RewriteRule pour tous les préfixes


Sujet :

Apache

  1. #1
    Membre régulier Avatar de jamdinhe
    Inscrit en
    Avril 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 165
    Points : 83
    Points
    83
    Par défaut RewriteRule pour tous les préfixes
    Salut,

    j'ai besoin de faire un RewriteRule pour un get que je dois trimbaler partout dans le site web, c'est-à-dire je suis sensé le retrouvé et le récupéré depuis n'importe quelle page web;

    je m'explique, exp : mon get est : ?tito=A15f20, mais tantôt c'est préfixé par un http://www.monsite.com/
    tantôt un http://www.monsite.com/page/fichier.html
    tantôt un http://www.monsite.com/rubrique/id-u...e-fichier.html
    .... etc.

    Ma question est : comment ecrire un RewriteRule correct pour ce cas de figure

    merci a tous ceux qui veulent aider
    amine
    Plusieurs processeurs pour une machine;
    Plusieurs Machines pour un calcul;
    Plusieurs calculs pour un résultat;
    Plusieurs Résultats pour un diagnostique;
    Plusieurs Diagnostiques pour une décision.

    ...........................................................

    la Décision est un acte de Management,
    le Management est un Acte d'informatique

  2. #2
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Effectuer ce genre de traitement via Apache me paraît hasardeux.

    Il serait plus logique de laisser la gestion des données à l'application.
    D'ailleurs quitte à garder une variable tout au long tu parcours de l'utilisateur, autant utiliser un cookie ou une variable de session, c'est plus adapté.

    [Mode hors sujet] Dans ta signature:
    Plusieurs Machines pour un calcule;
    Plusieurs calcules pour un résultat;[/Mode hors sujet]
    Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

    Linus Torvalds

  3. #3
    Membre régulier Avatar de jamdinhe
    Inscrit en
    Avril 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 165
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par Marc3001
    Effectuer ce genre de traitement via Apache me paraît hasardeux.

    Il serait plus logique de laisser la gestion des données à l'application.
    D'ailleurs quitte à garder une variable tout au long tu parcours de l'utilisateur, autant utiliser un cookie ou une variable de session, c'est plus adapté.
    Merci pour la réponse, en réalité c'est une variable qui se génère a n'importe quelle page, Exemple, remplir un formulaire, et moi je controle les champs, si y'a un qui est vide, j'envoie le nom du champ dans le get, et au chargement de cette dernière, j'affiche un message d'erreur au lieu de laisser passer le formulaire a moitié vide ! le problème est que ca peut arrivé sur n'importe quelle page, est ce que je doit créer un RewriteRule pour chaque page ?? et pour chaque cas de figure GET !!

    personnelement, je pense que c'est beaucoup aussi d'utiliser des cookies ou des variables de session pour des cas d'exceptions.

    Ma question si je la reformule, comment exprimer dans .htaccess une chaine de caractère *, genre peut tout contenir, comme dans MS-DOS
    PS: Merci pour la correction de la signature

    Merci encore, une autre proposition SVP ?
    amine
    Plusieurs processeurs pour une machine;
    Plusieurs Machines pour un calcul;
    Plusieurs calculs pour un résultat;
    Plusieurs Résultats pour un diagnostique;
    Plusieurs Diagnostiques pour une décision.

    ...........................................................

    la Décision est un acte de Management,
    le Management est un Acte d'informatique

  4. #4
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Je ne comprends vraiment pas ce que tu veux faire...

    Tu as des variables dans tes urls potentiellement sur n'importe quelle page.. OK.
    Que veux-tu faire avec ta rewriteRule ?
    Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

    Linus Torvalds

  5. #5
    Membre régulier Avatar de jamdinhe
    Inscrit en
    Avril 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 165
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par Marc3001
    Je ne comprends vraiment pas ce que tu veux faire...

    Tu as des variables dans tes urls potentiellement sur n'importe quelle page.. OK.
    Que veux-tu faire avec ta rewriteRule ?
    Merci pour l'intérêt que vous portez à ma question,

    ce que je veux faire, c'est derécupérer ces variables à l'aide de $_GET[] en php;

    mon RewriteRule actuel ne me gère pas la variable ?tito=A15f20, en PHP je ne retrouve pas ma variable GET,

    Merci encore, j'espère arriver a trouver la réponse.
    amine
    Plusieurs processeurs pour une machine;
    Plusieurs Machines pour un calcul;
    Plusieurs calculs pour un résultat;
    Plusieurs Résultats pour un diagnostique;
    Plusieurs Diagnostiques pour une décision.

    ...........................................................

    la Décision est un acte de Management,
    le Management est un Acte d'informatique

  6. #6
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    C'est toujours pas clair....
    Je ne vois pas le lien entre ta variables et des rewriterules....

    Donne une url sans réécriture et le résultat que tu désires avec la réécriture...
    Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

    Linus Torvalds

  7. #7
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    A quoi te sert cette variable ? Comment est-elle générée et comment est-elle utilisée ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  8. #8
    Membre régulier Avatar de jamdinhe
    Inscrit en
    Avril 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 165
    Points : 83
    Points
    83
    Par défaut
    Bonjour
    exemple :
    l'utilisateur est dans une page déjà générée par RewriteRule
    http://www.domaine.fr/berline/renaul...lack-ttop.html
    donc, nous avons déjà 6 paramètres dans notre url.
    et a partir de cette page. Il va dans le footer où il trouve un form contact pour envoyer un message. Il l'utilise mais je dois lui préparer un controlleur. Comment je vais rajouter d'autres paramètres dans mon url ?

    le problème est que l'utilisateur peut utiliser ce form a partir de n'importe quelle page. Je ne peut donc pas prévoir un RewriteRule complet. Je doit effectuer une rallonge a mon url en definissant les nouveaux paramètres.

    J'espère que j'ai pu illustrer le problème.

    Dans l'espoir d'avoir une réponse qui me sortira de ce problème.

    Merci a tous ceux qui veulent aider
    amine
    Plusieurs processeurs pour une machine;
    Plusieurs Machines pour un calcul;
    Plusieurs calculs pour un résultat;
    Plusieurs Résultats pour un diagnostique;
    Plusieurs Diagnostiques pour une décision.

    ...........................................................

    la Décision est un acte de Management,
    le Management est un Acte d'informatique

  9. #9
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Je ne pense pas qu'il faille partir sur une modif de rewriterule pour ton souci.
    Il faut plutôt revoir le fonctionnement sinon ça va devenir une usine à gaz.

    Les variables que tu veux rajouter, pourquoi ne pas les envoyer via post plutôt que get ?
    A quoi servent ces variables ?
    N'hésite pas à donner des exemples d'urls pour éclaircir ces points....
    Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

    Linus Torvalds

  10. #10
    Membre régulier Avatar de jamdinhe
    Inscrit en
    Avril 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 165
    Points : 83
    Points
    83
    Par défaut
    Merci,
    la méthode POST peut être utilisée à l'envoie du formulaire, mais une fois que mon controlleur détecte des champs vides par exemple, il ne pourra pas envoyer les noms des champs en POST !

    au fait, un exemple concret serait comme celui que j'ai donné précédemment, mais je ne pensais quand même pas qu'un caractère comme * dans MS-DOS ou % dans SQL n'existerait pas dans APPACHE !

    merci en tout cas, mais existerait t-il une bonne réponse ? ou peut être que ma question est mal formulée !
    Plusieurs processeurs pour une machine;
    Plusieurs Machines pour un calcul;
    Plusieurs calculs pour un résultat;
    Plusieurs Résultats pour un diagnostique;
    Plusieurs Diagnostiques pour une décision.

    ...........................................................

    la Décision est un acte de Management,
    le Management est un Acte d'informatique

  11. #11
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Citation Envoyé par jamdinhe Voir le message
    la méthode POST peut être utilisée à l'envoie du formulaire, mais une fois que mon controlleur détecte des champs vides par exemple, il ne pourra pas envoyer les noms des champs en POST !
    Ce que tu appelles ton controlleur c'est quoi ? Je pensais que tu utilisais la notion de controlleur du pattern MVC mais là je commence à avoir des doutes...
    Parceque si c'est ça, ton controlleur c'est un script en php (par exemple ;-) et je vois pas en quoi il doit envoyer des données en POST ou en GET... Il ne répond que du HTML....
    Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

    Linus Torvalds

  12. #12
    Membre régulier Avatar de jamdinhe
    Inscrit en
    Avril 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 165
    Points : 83
    Points
    83
    Par défaut
    Merci encore pour l'intérêt que vous portez a ma question,

    effectivement, ce que j'appel Controlleur est une fonction PHP qui control l'integrité des champs, donc voyons ca comme un conditionnel if() qui peut retourner true ou false, dans le cas de false, il doit renvoyer des $_GET[] pour que l'erreur s'affiche à l'utilisateur et qu'il devra par la suite corriger les champs (champ vide, adresse e-mail incorrecte, ...etc.).

    désolé encore, mais je fait de mon mieux pour bien expliquer ma question tout en la gardant simple.

    Merci a tous ceux qui veulent aider
    amine
    Plusieurs processeurs pour une machine;
    Plusieurs Machines pour un calcul;
    Plusieurs calculs pour un résultat;
    Plusieurs Résultats pour un diagnostique;
    Plusieurs Diagnostiques pour une décision.

    ...........................................................

    la Décision est un acte de Management,
    le Management est un Acte d'informatique

  13. #13
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    OK alors pourquoi renvoyer des variables via GET plutot que de directement afficher les erreurs ?

    Quelle variable envoie ce controlleur ? A quoi sert-elle ?
    Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

    Linus Torvalds

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/09/2005, 11h50
  2. TEdit numérique pour tous les claviers
    Par totofweb dans le forum C++Builder
    Réponses: 2
    Dernier message: 10/06/2004, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo