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 :

mod_rewrite : dossier virtuel


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut mod_rewrite : dossier virtuel
    Bonjour,

    Je bute depuis plusieurs jours sur un problème que je n'arrive pas à résoudre avec mod_rewrite.

    J'ai la structure suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    |
    |_ virtual1
    | |_ app
    |   |_ .htaccess
    |_ virtual2
    | |_ app
    |   |_ .htaccess
    |_ real
      |_ app
        |_ index.php
        |_ .htaccess
        |_ javascript
          |_ app.js
    Ce que je veux, c'est que les utilisateurs accèdent à l'application en passant par un des deux accès "virtual", qui vont réécrire les URLs pour requêter dans le dossier "real", tout en ajoutant automatiquement un paramètre à l'URL.

    Le contenu du .htaccess dans le dossier "real/app" route toute requête ne correspondant pas à un fichier vers le fichier index.php.
    Voici son contenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [QSA,L]
    Finalement voici quelques exemples de réécritures que je souhaite obtenir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    /virtual1/app                     ->   /real/app?p=1
    /virtual2/app                     ->   /real/app?p=2
    /virtual1/app/whatever            ->   /real/app/whatever?p=1
    /virtual2/app/whatever            ->   /real/app/whatever?p=2
    /virtual1/app/javascript/app.js   ->   /real/app/javascript/app.js ou /real/app/javascript/app.js?p=1
    Pouvez-vous m'aider à écrire le contenu des fichiers virtual1/app/.htaccess et virtual2/app/.htaccess ?


    Merci d'avance.

    EDIT :

    J'ai une piste, mais limitée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteEngine On
    RewriteRule ^(.*) /real/app/$1?p=1 [NC,L,QSA]
    Avec ça, si je requête /virtual1/app/toto, j'obtiens ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $_SERVER
    array (size=4)
      'QUERY_STRING' => string 'p=1' (length=3)
      'REQUEST_URI' => string '/virtual1/app/toto' (length=17)
      'SCRIPT_NAME' => string '/real/app/index.php' (length=19)
      'PHP_SELF' => string '/real/app/index.php' (length=19)
     
    $_GET
    array (size=1)
      'p' => string '1' (length=1)
     
    app.js loaded
    Le message "app.js loaded" étant signe que le fichier javascript requis dans index.php a été correctement chargé. Le navigateur a demandé /virtual1/app/javascript/app.js.

    Par contre, si j'essaie avec /virtual1/app/toto/test, j'obtiens ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $_SERVER
    array (size=4)
      'QUERY_STRING' => string 'p=1' (length=3)
      'REQUEST_URI' => string '/virtual/app/toto/test' (length=22)
      'SCRIPT_NAME' => string '/real/app/index.php' (length=19)
      'PHP_SELF' => string '/real/app/index.php' (length=19)
     
    $_GET
    array (size=1)
      'p' => string '1' (length=1)
    La requête arrive correctement à l'index.php, mais le fichier js n'est pas chargé, car le navigateur demande /virtual1/app/toto/javascript/app.js
    Dernière modification par Invité ; 15/09/2014 à 09h12.

Discussions similaires

  1. Protéger un dossier virtuel
    Par kamkamkam dans le forum Apache
    Réponses: 2
    Dernier message: 18/11/2006, 16h13
  2. Recherche Script dossier virtuel a la facon explorateur xp
    Par ideal dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 31/07/2006, 12h21
  3. [Apache] mod_rewrite & dossiers virtuels
    Par Reveur dans le forum Apache
    Réponses: 1
    Dernier message: 20/04/2006, 09h11
  4. Réponses: 2
    Dernier message: 20/01/2006, 17h08
  5. [Apache] dossiers virtuels
    Par secteur_52 dans le forum Apache
    Réponses: 2
    Dernier message: 26/10/2005, 12h11

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