2011-08-26 8 views
5

Quiero que la siguiente funcionalidad de redirecciónPlayframework: rutas de entrada a una URL externa

GET /google google.com 

¿Cómo debo aplicar esto?

+0

No recomendaría mapear una ruta local una URL externa, es engañosa y no la experiencia de navegación estándar. Solo agregaría un enlace a Google donde lo necesite. –

+0

Pere, google.com fue solo un ejemplo. Tenemos dos sitios de dominio interno ... Digamos el sitio principal y un sitio de blog (bajo un dominio diff y mantenido por un equipo diferente). Me gustaría simplemente una redirección simple de domiain.com/blog para ir a blog.com – roshan

+0

, aunque sea externo a la aplicación (por lo que tendrá su propia ruta) No usaría rutas para eso. Routes es para las rutas de la aplicación en sí. –

Respuesta

8

Parece que no es posible hacerlo directamente desde los archivos de rutas at this moment.

Se podría implementar esto en un controlador:

public class Application extends Controller { 

public static void google() { 
    redirect("http://www.google.com"); 
} 
} 
+0

Gracias. Sí, esta es la mejor solución hasta el momento (que no sea un servidor apache/web). No estoy seguro de la cantidad de recursos que se pueden guardar si las rutas pueden manejar este caso – roshan

+3

Desde un punto de vista de SEO, al redireccionar fuera de un dominio, recomiendo usar 'redirect (" http://www.google.com ", true) ; ', que indicará a los bots de búsqueda que el contenido se ha movido permanentemente a la nueva ubicación, en lugar de temporalmente (código HTTP 301 en lugar de 302). Discusión muy detallada de 302 redirecciones [aquí] (http://www.mattcutts.com/blog/seo-advice-discussing-302-redirects/). – pents90

+5

Direccionamiento directo desde rutas también disponibles: 'GET/main controllers.Default.redirect (to =" http://google.com/ ")' – FoREacH

7
GET /google controllers.Default.redirect(to = "http://google.com/") 

(Re-post del comentario de forEach porque vale la pena estar aquí como una respuesta)

Cuestiones relacionadas