Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/12/2010, 10h20   #1
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

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

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
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:
Citation:
./index.php?view=telechargement&file=clef_fichier
que j'aimerais en
Citation:
./telechargement.php?file=clef_fichier
Sachant qu'il peut y avoir

Citation:
./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 :
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
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 22h58   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 277
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 277
Points : 8 563
Points : 8 563
On ne le répètera jamais assez : on ne perd jamais rien à aller lire la doc. On y apprend entre autres ceci :
Citation:
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 :
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 :
RewriteCond %{QUERY_STRING} ^file=([a-zA-Z]+)$
__________________

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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h37.


 
 
 
 
Partenaires

Hébergement Web