Nei giorni dei link shortener e di Ajax, ci possono essere molti link che in definitiva puntano allo stesso contenuto. Mi stavo chiedendo quale sia il modo migliore per ottenere il link finale migliore per un sito web in PHP, si spera con una libreria. Non sono riuscito a trovare nulla su Google o GitHub.Come posso ottenere l'URL finale, reindirizzato, canonico di un sito Web utilizzando PHP?
Ho visto questo codice di esempio, ma non gestisce le cose come un rel = "canonical" meta-tag o porte di default SSL: http://w-shadow.com/blog/2008/07/05/how-to-get-redirect-url-in-php/
Facebook sembra gestire questo abbastanza bene, si può vedere come si seguire 301 e di rel = "canonical", ecc Per vedere esempi del modo in cui Facebook gestisce, utilizzare il loro strumento Grafico Aperto:
https://developers.facebook.com/tools/debug
e inserire questi collegamenti:
http: // dlvr .it/xxb0W
https://twitter.com/#!/twitter/statuses/136946408275193856
C'è una libreria PHP là fuori che ha già questa pre-costruito, dove si verifica la presenza di queste intestazioni, risolvere 301 reindirizza, parse rel = "canonical", rileva i loop di reindirizzamento e appropri correttamente l'URL risultante migliore da usare?
In alternativa, sono aperto alle API che possono essere utilizzate, ma preferirei qualcosa che viene eseguito sul mio server.
Controllare questo, http://stackoverflow.com/questions/4454605/follow-redirects-with-curl -in-php – Srisa
Non so se comprendo la tua domanda, ma penso che dovresti controllare questo http://php.net/manual/es/reserved.variables.server.php – NotGaeL
Grazie Srisa, questo è il generale idea, ma l'arricciatura non segue i reindirizzamenti dei meta tag, come le note di risposta accettate ... La soluzione richiederà un po 'di analisi dell'HTML per il collegamento reindirizzato finale, e quindi potenzialmente più reindirizzamenti fino a quando un loop si trova o raggiungiamo il fine della catena di reindirizzamento e rel = "canonica" ... Era ju Sto sperando che qualcuno abbia già scritto questo, quindi non devo. :) – Matt