Script php en fonction d'une url

Résolu/Fermé
faboons Messages postés 272 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 janvier 2025 - Modifié par faboons le 9/10/2010 à 12:09
faboons Messages postés 272 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 janvier 2025 - 10 oct. 2010 à 19:02
Bonjour,

J'ai un problème avec un script php qui doit se lance en fonction d'une URL spécifique.

Celui-ci fonctionne quand l'URL est de type xxxxx.fr et ne fonctionne pas quand l'URL est sous la forme www.xxxxx.fr.

Comment supprimer le www. de l'URL pour que mon 2nd script fonctionne à tous les coups ?

Voici un extrait du script :

$monUrl = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];  



if ( $monUrl == "xxxx.fr/ma_page.php") 

{ echo '<script type="text/javascript" src="libs/preload.js"></script>'; }


EDIT Dernière précision :


if ( $monUrl == "xxxx.fr/ma_page.php" OR  $monUrl == "www.xxxx.fr/ma_page.php) 


ne fonctionne pas.

@pluche.
Fab.

http://www.commentcamarche.net/forum/webmastering-24/new
A voir également:

4 réponses

Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 260
9 oct. 2010 à 15:13
Il faut utiliser l'opérateur || et pas OR
cf https://www.php.net/manual/fr/language.operators.logical.php
0
faboons Messages postés 272 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 janvier 2025 50
9 oct. 2010 à 17:53
Salut,

Merci pour ta réponse mais ça ne change rien, ça ne marche pas.

|| et OR sont des équivalents à ma connaissance et il n'y a pas de différences entre eux, j'ai déjà utilisé OR dans d'autres scripts.

Aurais-tu une autre suggestion ?

@ pluche.
Fab.
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
Modifié par Fallentree le 9/10/2010 à 18:50
C est pas le " qui manque tout de meme
if ( $monUrl == "xxxx.fr/ma_page.php" OR $monUrl == "www.xxxx.fr/ma_page.php" )
0
Alors c'était bien vu malheureusement ce n'est pas ça et heureusement.
J'utilise editplus et il colore le code ça m'aurait vraiment fait chier.

Effectivement dans mon exemple ça manquait mais pas sur le site.
En plus dans le error log d'APACHE il n'y a pas d'erreur qui apparait, je suis perplexe....

Je t'avouerai que je sèche.

@ pluche.
Fab.
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 260
Modifié par Flachy Joe le 9/10/2010 à 19:05
Or et || ne sont pas toujours équivalent bien qu'en effet ils le soient dans ton cas :
// "||" a un précédence supérieure à "or" 

// Le résultat de l'expression (false || true) est assigné à $e 
// Agit comme : ($e = (false || true) donc $e==true) 
$e = false || true; 

// La constante false est assignée à $f, puis, true est ignoré 
// Agit comme : (($f = false) or true donc $f==false) 
$f = false or true; 
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 260
9 oct. 2010 à 19:01
Avec preg_match (exemple tiré du manuel)
// repérer le nom de l'hôte dans l'URL
preg_match('@^(?:http://)?([^/]+)@i', $monUrl, $matches);
$host = $matches[1];

// repérer les deux derniers segments du nom de l'hôte
preg_match('/[^.]+\.[^.]+$/', $host, $matches);
if ($matches[0]=='xxxx.fr')

0
faboons Messages postés 272 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 janvier 2025 50
Modifié par faboons le 10/10/2010 à 19:03
Merci à toi Flachy Joe.

Désolé, il est vrai que je n'ai pas consulté le manuel à ce sujet.

J'ai appris pas mal de choses sur les regex du coup, même si finalement c'était pour..... rien.

En fait, la condition est dans un include mais 2 fois et je ne changeais jamais ma condition aux 2 endroits, malin non ????

Sinon, je ne comprends pas la différence entre OR et || mais je vais jeter un coup d'oeil à ça.

Merci pour ta patience.

@ pluche.
Fab.
0