Cherche script pour avoir l'URL finale suite à 1 redirection

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

loran750
WRInaute passionné
WRInaute passionné
 
Messages: 632
Inscription: Mar Mar 15, 2005 13:22

Cherche script pour avoir l'URL finale suite à 1 redirection

Message le Mar Sep 25, 2007 23:23

bonjour,

je cherche une classe ou une librairie qui, à partir d'une URL de redirection, me permet d'obtenir le lien "final", que ce soit une redirection permanente (301) ou temporaire (302), ou autre.

un peu à la manière des Tools de WRI ou Webmaster-hub qui proposent via leurs interfaces respectives d'obtenir les entêtes HTTP, et ce, jusqu'à 8 redirections successives.

Je n'arrive pas à trouver ça.

Merci


kylliox
WRInaute discret
WRInaute discret
 
Messages: 52
Inscription: Ven Oct 20, 2006 20:39

Message le Mer Sep 26, 2007 0:00

bonjour,
je me souviens avoir bien gallérer pour l'écrire :

Code: Tout sélectionner
$url = "http://www.linuvers.com/";
$headers = get_headers($url);
list($http, $code, $valide) = explode(" ", $headers['0'], 3);

echo $code;


Dans la variable $code tu as le numéro de redirection
Voila

loran750
WRInaute passionné
WRInaute passionné
 
Messages: 632
Inscription: Mar Mar 15, 2005 13:22

Message le Mer Sep 26, 2007 0:11

merci beaucoup !


kylliox
WRInaute discret
WRInaute discret
 
Messages: 52
Inscription: Ven Oct 20, 2006 20:39

Message le Mer Sep 26, 2007 0:12

En fait la fonction get_header retourne ce tableau :
Code: Tout sélectionner
    [0] => HTTP/1.1 200 OK
    [Date] => Sat, 29 May 2004 12:28:14 GMT
    [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
    [ETag] => "3f80f-1b6-3e1cb03b"
    [Accept-Ranges] => bytes
    [Content-Length] => 438
    [Connection] => close
    [Content-Type] => text/html


cela ne donne pas l'url final mais permet quand même de faire la distinction en cas de redirection


kylliox
WRInaute discret
WRInaute discret
 
Messages: 52
Inscription: Ven Oct 20, 2006 20:39

Message le Mer Sep 26, 2007 9:07

En cas de redirection on récupére la nouvelle url avec :

Code: Tout sélectionner

    list($location, $newhttp) = explode(" ", $headers['3'], 2);



voili, voila


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Mer Sep 26, 2007 9:24

Regarde curl et plus particulièrement l'option :
Code: Tout sélectionner
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true)

tu récupère l'url finale et le code HTTP :
Code: Tout sélectionner
$url_reelle = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité