determinar la URL que reenvió

Tengo una serie de nombres de dominio diferentes que me gustaría apuntar (a través del reenvío de URL desde mi host de dominio) a una aplicación de motor de aplicaciones de Google que lee cuál es la URL de reenvío. Entonces, si el dominio ingresado era XYZ.com original, cuando me reenvíen a mi solicitud, puedo devolver el nombre de dominio original. Estoy usando la variante de Python. ¿Cuál es la mejor manera de hacer esto sin codificar todas y cada una de las variantes?

preguntado el 10 de mayo de 11 a las 13:05

3 Respuestas

Generalmente, el objetivo de un redireccionamiento 301/302 no puede determinar qué URL emitió el redireccionamiento. Si el usuario es redirigido por código del lado del cliente, la página de referencia debe estar presente en el encabezado de solicitud "Referer". Para las redirecciones del lado del servidor, no creo que sea estándar que los agentes de usuario llenen (o anulen) el encabezado Referer.

Si desea apuntar varios dominios a su aplicación de App Engine, intente configurarlos como dominios personalizados en lugar de reenviar. Con esta ruta, el dominio personalizado permanecería en la barra de direcciones del usuario, y simplemente puede verificar el encabezado del host para ver qué dominio personalizado está usando el visitante.

contestado el 10 de mayo de 11 a las 18:05

Si por reenvío te refieres a la redirección HTTP, puedes comprobar el encabezado Referer.

Si te refieres a la resolución de DNS (por ejemplo, distinguir entre la invocación de tu aplicación a través de tu propio dominio y .appspot.com uno), hay SERVER_NAME Variable ambiental (os.environ["SERVER_NAME"]) que almacena el dominio (p. ej. www.example.com) utilizado para emitir la solicitud.

contestado el 10 de mayo de 11 a las 17:05

Si está utilizando un redireccionamiento javascript, solo puede verificar la referencia:

http://en.wikipedia.org/wiki/HTTP_referrer

pero esta no es una solución al 100%.

Si tiene varios dominios estacionados en una instancia de appengine y solo desea saber cuál está viendo el usuario, puede verificar el nombre de host en el objeto de solicitud.

contestado el 10 de mayo de 11 a las 18:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.