Script php en fonction d'une url

Résolu
faboons Messages postés 291 Date d'inscription   Statut Membre Dernière intervention   -  
faboons Messages postés 291 Date d'inscription   Statut Membre Dernière intervention   -
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. faboons Messages postés 291 Date d'inscription   Statut Membre Dernière intervention   50
     
    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
    1. Fallentree Messages postés 2445 Statut Membre 210
       
      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
    2. faboons
       
      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
    3. Flachy Joe Messages postés 2303 Statut Membre 261
       
      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
  2. Flachy Joe Messages postés 2303 Statut Membre 261
     
    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
  3. faboons Messages postés 291 Date d'inscription   Statut Membre Dernière intervention   50
     
    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