Script php en fonction d'une url

Résolu
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

4 réponses

  1. 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.
    1. C est pas le " qui manque tout de meme
      if ( $monUrl == "xxxx.fr/ma_page.php" OR $monUrl == "www.xxxx.fr/ma_page.php" )
    2. 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.
    3. 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; 
      
  2. 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')
    
    
    1. 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.