2011-05-28 3 views
2

Les idées si bit.ly fait autre chose que simple Location: en-tête pour rediriger les utilisateurs?bit.ly méthode de redirection

Facebook est capable d'analyser des informations sur la destination finale lorsque vous utilisez le lien bit.ly, mais pas mon projet http://guubo.com/aaaaab liens qui utilisent simple Location: en-tête.

J'ai vérifié les en-têtes bit.ly, ils ont l'air ordinaires.

+1

Je soupçonne qu'ils fetch (par exemple en utilisant «curl»), puis inspecter les en-têtes. –

+0

assurez-vous que vous n'avez pas de balises html. – Jung3o

+0

Je suppose que FB appelle l'API bit.ly, car elle est suffisamment populaire pour justifier l'effort requis: [link] (http://code.google.com/p/bitly-api/wiki/ApiDocumentation#/v3/ expand) – xs0

Répondre

4

J'ai regardé plus loin. Effectuez les opérations suivantes de la ligne de commande

curl -D headers.txt http://bit.ly/4m1AUx 

Vous pouvez alors regarder le contenu de headers.txt, qui ressemblera à

HTTP/1.1 301 Moved 
Server: nginx 
Date: Sat, 28 May 2011 13:18:21 GMT 
Content-Type: text/html; charset=utf-8 
Connection: keep-alive 
Set-Cookie: _bit=4de0f61d-001f7-008b9-d8ac8fa8;domain=.bit.ly;expires=Thu Nov 24 08:18:21 2011;path=/; HttpOnly 
Cache-control: private; max-age=90 
Location: http://slashdot.org/ 
MIME-Version: 1.0 
Content-Length: 112 

Donc, non, ils font une redirection 301 normale. Vous pouvez faire la même inspection dans votre code PHP en utilisant PHP's curl bindings pour obtenir les en-têtes pour comprendre le site réel si vous le souhaitez.

+0

'header ('HTTP/1.1 301 Moved'); header ('Location:'. $ url); 'lorsque le lien est partagé sur Facebook.com, il partage toujours les détails de guubo.com plutôt que les $ url. – Gajus

+1

Donc, la réponse est que * Facebook * fait quelque chose de différent, pas bit.ly. Ce qui est malheureux de votre point de vue, si vous essayez d'écrire un raccourcisseur d'URL, car il ne sera peut-être pas possible de contourner le problème. –

+0

ne devrait-il pas être 301 déplacé en permanence – dynamic