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

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
 
bonjour,
je me souviens avoir bien gallérer pour l'écrire :

Code:
$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
 
En fait la fonction get_header retourne ce tableau :
Code:
    [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
 
En cas de redirection on récupére la nouvelle url avec :

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

voili, voila
 
Regarde curl et plus particulièrement l'option :
Code:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true)
tu récupère l'url finale et le code HTTP :
Code:
$url_reelle = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut