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 18/04/2011, 18h45   #1
Candidat au titre de Membre du Club
 
Homme
Débutant en XSLT
Inscription : avril 2011
Messages : 53
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Débutant en XSLT

Informations forums :
Inscription : avril 2011
Messages : 53
Points : 12
Points : 12
Par défaut Url Rewriting et requete GET

Bonjour,
C'est mon premier poste sur ces forums et j'aurais besoin de la communauté pour un petit coup de pouce concernant l'URL rewriting (aaah tous ces newb qui veulent faire du rewriting et qui ont des soucis....)

Voici le contenu de mon .htaccess :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#--------------------------------------------------
# Répertoire : /site1/
#--------------------------------------------------

# Le serveur doit suivre les liens symboliques :
Options +FollowSymlinks

# Activation du module de réécriture d'URL :
RewriteEngine on

#Definit l'url de hase pour les réécritures par répertoire.
RewriteBase /site1/


#--------------------------------------------------
# Règles de réécriture d'URL :
#--------------------------------------------------


RewriteRule ^(.*)\.html$   index.php?page=$1 [L]
RewriteRule ^(.*)\.html$   $1.php [L]
RewriteRule ^(.*)-(.*)\.html$   index.php?page=$1&id=$2 [L]
Actuellement je transforme
http://localhost/site1/index.php?page=formulaire
en
http://localhost/site1/formulaire.html

J'ai voulu rajouter la transformation suivante:
http://localhost/site1/index.php?pag...ire&id=partie1
en
http://localhost/site1/formulaire-partie1.html


Mais le soucis, quand je tape cette adresse :
http://localhost/site1/formulaire-partie1.html
Ca ne fonctionne pas. La requête $_GET['page'] prend la valeur : "formulaire-partie1" et la requête $_GET['id'] est vide.

Il y a-t-il conflit qqpart ?

Je ne suis pas assez à l'aise avec le regex pour trouver la solution seul.
Merci de m'aider.

Pouette.
PouetteMan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 13h09   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 280
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 280
Points : 8 568
Points : 8 568
Oui, il y a conflit : le masque (.*) vaut aussi pour (.*)-(.*) donc ta dernière règle n'est en fait jamais activée. Il suffit juste de la mettre en première position :
Code :
1
2
3
RewriteRule ^(.*)-(.*)\.html$   index.php?page=$1&id=$2 [L]
RewriteRule ^(.*)\.html$   index.php?page=$1 [L]
RewriteRule ^(.*)\.html$   $1.php [L]
__________________

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
Vieux 19/04/2011, 17h11   #3
Candidat au titre de Membre du Club
 
Homme
Débutant en XSLT
Inscription : avril 2011
Messages : 53
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Débutant en XSLT

Informations forums :
Inscription : avril 2011
Messages : 53
Points : 12
Points : 12
Génial !
Rapide et efficace le support

Merci beaucoup.

Pouette.
PouetteMan 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 06h25.


 
 
 
 
Partenaires

Hébergement Web