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 :

Rewriting problème ?


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut Rewriting problème ?
    Bonjour,

    Je fais appelle à vous aujourd'hui pour un soucis d'url rewriting... j'ai pu lire un post de lancelot du lac qui date de 2008 mais j'ai eu beau lire, ai pas compris...

    Mon problème étant que j'ai:
    ./index.php?view=telechargement&file=clef_fichier
    que j'aimerais en
    ./telechargement.php?file=clef_fichier
    Sachant qu'il peut y avoir

    ./index.php?view=telechargement&file=clef_fichier&k=clef_autorisation&m=mail
    (puisque la première page est une page ou l'on demande le telechargement et la seconde est le lien de retour envoyé dans un email)

    Je bloque au niveau de la règle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^telechargement\.php\?file=([a-zA-Z]+)$ /eco-poules_v2/index.php?view=telechargement&file=$1
    Le "?" me fait tout foirer et j'en ai "absolument" besoin....

    Si quelqu'un pouvait m'aiguiller svp

  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
    Par défaut
    On ne le répètera jamais assez : on ne perd jamais rien à aller lire la doc. On y apprend entre autres ceci :
    What is matched?

    The Pattern will initially be matched against the part of the URL after the hostname and port, and before the query string.
    Donc, ton filtre avec ton \? qui délimite le chemin de la query string n'est jamais validé.

    Il faut savoir que mod_rewrite va naturellement rajouter les paramètres d'URL qui sont présents en entrée à ceux éventuellement ajouté en second paramètre de RewriteRule. Donc, sachant que le premier paramètre de RewriteRule ne contient pas la query string et que tu veux tout simplement l'ajouter sans modification à celle que tu définis au second paramètre de ton RewriteRule, la solution est très simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^telechargement\.php$ /eco-poules_v2/index.php?view=telechargement
    Si la condition "la query string ne contient que le paramètre file", il faut ajouter ceci avant le RewriteRule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{QUERY_STRING} ^file=([a-zA-Z]+)$

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

Discussions similaires

  1. [URL Rewriting] Problème d'encodage
    Par cootchy dans le forum Apache
    Réponses: 1
    Dernier message: 29/08/2007, 10h00
  2. Réponses: 3
    Dernier message: 31/07/2007, 16h40
  3. [URL Rewriting] problème avec sous domaine
    Par Booyakha dans le forum Apache
    Réponses: 1
    Dernier message: 31/07/2007, 16h31
  4. URL Rewriting problème de regexp ?
    Par pierrickg dans le forum Apache
    Réponses: 2
    Dernier message: 10/07/2007, 13h35
  5. [URL Rewriting] Problème URL Rewriting -> CSS
    Par Cartman.inc dans le forum Apache
    Réponses: 8
    Dernier message: 23/04/2007, 14h29

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