Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
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 26/02/2011, 12h14   #1
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
Par défaut Exeption dans une url

Bonjour,

Voila, je n'arrive pas à comprendre un truc,

j'ai une url qui se présente comme ceci :

http://sousdomaine.ledomaine.com/dossier1/
http://sousdomaine.ledomaine.com/dossier3/
http://sousdomaine.ledomaine.com/etc./

et une autre :

http://sousdomaine.ledomaine.com/aide/

je cherche à l'aide d'une expression à accepter l'exception du dossier "aide"

voici la synthaxe :
// Si non connecté , redirection à l'accueil, sauf dossier aide
Code :
1
2
3
 if ((!isset($_SESSION["_Authorized"])) and (preg_match('/sousdomaine\/$[^\/aide\/]/i', $_SERVER['REQUEST_URI'].$_SERVER['HTTP_HOST']))) {
   header('Location: http://www.domaine.com/');
 }
Merci d'avance pour votre aide.
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 12h26   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Code :
/sousdomaine\/$[^\/aide\/]/
Qu'est ce que tu as voulu signifier avec cette expression ?

Pourquoi pas simplement ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 12h46   #3
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
Bonjour Sabotage,

En fait ça fonctionne avec cette synthaxe mais je me dit que je peux faire plus propre si la regex pouvait prendre en compte une négation, la synthaxe serait plus courte...

Code :
1
2
if ((!isset($_SESSION["_Authorized"])) and (preg_match('#sousdomaine#i', $_SERVER['REQUEST_URI'].$_SERVER['HTTP_HOST'])) and (!preg_match('#/aide/#i', $_SERVER['REQUEST_URI'].$_SERVER['HTTP_HOST']))) {
...
et si je simplifi la synthaxe en
Code :
1
2
if ((!isset($_SESSION["_Authorized"])) and (!preg_match('#sousdomaine.domaine.com/aide/#i', $_SERVER['REQUEST_URI'].$_SERVER['HTTP_HOST']))) {
...
ça plante partout sauf dossier "aide"

dominos 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 17h11.


 
 
 
 
Partenaires

Hébergement Web