En la época de acortadores de enlaces y Ajax, puede haber muchos enlaces que, en última instancia, apuntan al mismo contenido. Me preguntaba cuál es la mejor manera de obtener el mejor enlace final para un sitio web en PHP, con suerte con una biblioteca. No pude encontrar nada en Google o GitHub.¿Cómo obtengo la URL final, redirigida y canónica de un sitio web que utiliza PHP?
He visto este código de ejemplo, pero no se ocupa de cosas como un rel = "canonical" meta tags o puertos SSL predeterminado: http://w-shadow.com/blog/2008/07/05/how-to-get-redirect-url-in-php/
Facebook parece manejar esta bastante bien, se puede ver cómo se siga de 301 y rel = "canonical", etc. Para ver ejemplos de la forma en que maneja Facebook, utilizan su herramienta Open Graph:
https://developers.facebook.com/tools/debug
y entrar en estos enlaces:
http: // dlvr .it/xxb0W
https://twitter.com/#!/twitter/statuses/136946408275193856
¿Hay una librería PHP por ahí que ya tiene esta pre-construido, donde se comprobará si estas cabeceras, resolver 301 redirects, parse rel = "canonical", detecta redirigir los bucles y apropiadamente solo toma la mejor URL resultante para usar?
Como alternativa, estoy abierto a las API que se pueden usar, pero preferiría algo que se ejecute en mi propio servidor.
comprobar esto, http://stackoverflow.com/questions/4454605/follow-redirects-with-curl -en-php – Srisa
No sé si entiendo su pregunta, pero creo que debería comprobar esto http://php.net/manual/es/reserved.variables.server.php – NotGaeL
Gracias Srisa, ese es el general idea, pero curl no sigue los redireccionamientos de metaetiquetas, como dice la respuesta aceptada ... La solución va a requerir un análisis sintáctico del HTML para el enlace redireccionado final, y luego potencialmente más redirecciones hasta que se ubique un ciclo o lleguemos al final de la redirección y rel = "canónico" cadena ... Fue ju Espero que alguien ya haya escrito esto, así que no es necesario. :) – Matt