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 :

redirection paramétrée : virtualhost ?


Sujet :

Apache

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut redirection paramétrée : virtualhost ?
    Bonjour,

    Je cherche actuellement une solution à un problème sur Apache mais je ne sais pas vers quoi me diriger ni meme vers quoi chercher.
    Je vous explique mon probleme :

    J'ai réalisé une appli web destinée a des clients qui est hébergée chez nous. Dans un soucis de maintenance facilitée, j'aimerai que toute la partie métier soit un seul et meme repertoire (à l'opposé d'un repertoire par client aujourd'hui)
    Donc le truc bien c'est que j'ai déjà séparé la partie présentation du métier, et les paramètres propres aux clients sont déjà dans un fichier bien séparé.
    Maintenant, ce que j'aimerai c'est réaliser cette structure :

    Un repertoire "Appli" avec à l'interieur deux repertoires : "Config" et "Themes"
    Lorsque j'appelle l'url d'un client (on va dire "http://monserveur.com/client1/") j'aimerai que cela pointe vers le repertoire appli mais que ça me passe en paramètre le nom du client pour que je puisse le traiter ensuite dans mon script php. Donc comme ça, chaque url client (Client1, client2, client3) pointeraient vers le meme repertoire mais derriere je pourrais réaliser un traitement qui chainera vers une base de données particulière au client et idem pour le theme.

    Savez vous vers quoi je pourrais me diriger afin de pouvoir mettre en place ceci svp ?
    Merci d'avance

    ps : j'allais oublier : mon appli web fonctionne avec des paramètres url, mais pointe toujours vers index.php (à la façon de beaucoup de cms), donc tenir compte de bien conserver les parametres passés dans l'url

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut
    Bonjour,

    Je crois que je commence à toucher du doigt la solution mais je n'y arrive toujours pas...
    Rappel de ce que je cherche :

    Changer l'url http://monserveur.com/Repertoire1/Cl...1=12&param2=54

    En http://monserveur.com/Repertoire1/in...client=Client1

    Voilà ce que je suis en train de tester

    J'ai mis un fichier .htaccess dans le repertoire /repertoire1/Client1 avec à l'interieur un RewriteEngine on et un RewriteRule

    Malheureusement, je n'arrive pas à récuperer tout ce qui est avant le index.php. Je ne vois pas vraiment comment faire.
    De plus, je ne sais pas vraiment où placer le htaccess car à mon avis, il ne faut pas créer le repertoire Client1 pour placer le htaccess dedans mais là encore je ne sais pas comment faire.
    Si quelqu'un a des idées... Merci d'avance.
    Pour ma part je continue les recherches.

    @+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut
    Ca y est je viens de trouver !
    Alors petite explication interressante pour ceux qui cherchent à faire pareil :

    Voila le fichier .htaccess à placer à la racine du serveur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RewriteEngine on
    RewriteBase /
    RewriteRule ^testredir/(.*)/.*$ testredir/index.php?var1=$1 [QSA]
    Le rewriterule n'est pas trop méchant finalement, mais fallait savoir quelques petites choses.
    En gros, on choppe l'url puis :
    - on regarde si elle commence bien par testredir/ quelque part
    - on recupere ensuite ce qu'il y a entre les deux "/" juste après testredir
    - Enfin, l'url peut se finir par n'importe quoi

    On remplace donc cette url par notre repertoire de base "testredir" auquel on couple notre index.php (qui est pour moi la page d'appel centrale) puis on lui colle dans la variable var1 le nom du repertoire que nous avons choppé grace à (.*)
    Enfin le QSA a une grande importance : c'est lui qui permet de remettre les paramètres GET dans la nouvelle url que nous venons de créer. En effet, si on ne met pas le QSA (QUERY STRING APPEND), il fait sauter tout ce qui se trouve après index.php

    Voilà ! en esperant que ça serve à quelqu'un
    @ pluche

Discussions similaires

  1. Redirection des virtualhost et dns chez bookmyname
    Par michelw dans le forum Apache
    Réponses: 26
    Dernier message: 17/11/2009, 08h44
  2. Réponses: 7
    Dernier message: 16/02/2007, 11h50
  3. Réponses: 3
    Dernier message: 17/06/2004, 16h32
  4. Réponses: 2
    Dernier message: 15/06/2004, 11h22
  5. Passer en paramètre un chemin dans redirection
    Par croco83 dans le forum ASP
    Réponses: 5
    Dernier message: 07/05/2004, 08h30

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