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 :

Rediriger tout les fichiers quel que soit le sous-dossier


Sujet :

Apache

  1. #1
    Membre du Club Avatar de DarkChamallo
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 113
    Points : 56
    Points
    56
    Par défaut Rediriger tout les fichiers quel que soit le sous-dossier
    Bonjour, voilà 2 jours que je trime et j'ai même cherché la doc officielle d'apache mais je pète un câble. Je pensais trouver un site qui me dirait comment traduire simplement ce que je veux mais j'ai l'impression que tout le monde en parle comme si c'était inné alors au passage si quelqu'un a un dico de rewriting, voire mieux : un traducteur

    Donc voilà, je voudrai simplement filtrer le téléchargement des fichiers d'un site (quelle que soit l'extension et quel que soit leur emplacement) en renvoyant toutes les demandes sur la même page php à la racine indiquant le dossier et le fichier voulu...

    Donc en gros en langage barbare je dirais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^/~(.+) unepage.php?fichier=$1 [L]
    Évidemment ça marche pas

    Exemple de ce que je veux obtenir (url demandée => url voulue)

    exemple.com/fichier.ext => unepage.php?fichier=fichier.ext
    exemple.com/dossier/fichier.ext => unepage.php?fichier=dossier/fichier.ext
    exemple.com/dossier/sousdossier/fichier.ext => unepage.php?fichier=dossier/sousdossier/fichier.ext
    etc...

    PS : heu et qu'on puisse pas m'injecter quoi que ce soit
    NB : et un mars


  2. #2
    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
    Le "/~" est censé signifier quoi ? A mon avis c'est ça le problème. Si tes règles sont dans un .htaccess, le premier membre d'un RewriteRule ne commence pas par un /, donc il faut l'enlever. Pour ce que tu veux, le plus simple c'est de lettre (.*) comme premier filtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule (.*) unepage.php?fichier=$1 [L]

  3. #3
    Membre du Club Avatar de DarkChamallo
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 113
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Le "/~" est censé signifier quoi ? A mon avis c'est ça le problème. Si tes règles sont dans un .htaccess, le premier membre d'un RewriteRule ne commence pas par un /, donc il faut l'enlever. Pour ce que tu veux, le plus simple c'est de lettre (.*) comme premier filtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule (.*) unepage.php?fichier=$1 [L]
    Cool une réponse de Mac je t'ai vu répondre sur d'autres sujets et j'ai pas osé te privatemsg.

    Alors en fait j'avais essayé ça aussi mais ça ne fonctionne pas

    Avec ta proposition si je fais : exemple.com/dossier/fichier.ext il laisse l'adresse dans le navigateur et affiche bien ma page à la place du fichier demandé mais que devient ?fichier=dossier/fichier.ext ? Si je récupère la variable $_GET['fichier'] elle contient "unepage.php"

    merci

  4. #4
    Membre du Club Avatar de DarkChamallo
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 113
    Points : 56
    Points
    56
    Par défaut
    Oh miracle, j'ai rajouté QSA et ça fonctionne !
    Merci !

    Question subsidiaire, pour virer l'adresse du fichier dans le navigateur, je fais une autre règle ou bien je redirige en php ?

  5. #5
    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
    Citation Envoyé par DarkChamallo Voir le message
    Question subsidiaire, pour virer l'adresse du fichier dans le navigateur, je fais une autre règle ou bien je redirige en php ?
    Quel est le besoin exactement ? Ce n'est pas très clair. Dans tous les cas, il faut que le fichier demandé (dossier/fichier.ext) figure quelque part, Apache ne pourra pas le deviner

  6. #6
    Membre du Club Avatar de DarkChamallo
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 113
    Points : 56
    Points
    56
    Par défaut
    oui c'est vrai, bah c'était pour peaufiner en montrant dans la barre d'adresse quelque chose de propre à la place de l'url demandée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 20
    Dernier message: 18/10/2016, 18h02
  2. Réponses: 2
    Dernier message: 03/06/2015, 10h21
  3. Réponses: 10
    Dernier message: 02/05/2010, 21h19
  4. [XL-2003] Lancer une macro à l'ouverture d'Excel quel que soit le fichier
    Par EtyenH dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/05/2009, 08h50

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