2011-08-26 8 views
5

Voglio la seguente funzionalità di reindirizzamentoplay framework: percorsi ingresso in un URL esterno

GET /google google.com 

Come dovrei implementare questo?

+0

non mi consiglia mappare un percorso locale un URL esterno, è fuorviante e non è l'esperienza di navigazione standard. Vorrei solo aggiungere un link a Google dove ne hai bisogno. –

+0

Pere, google.com era solo un esempio. Abbiamo due siti di dominio interni ... diciamo sito principale e sito blog (con dominio diff e gestito da un team separato). Vorrei solo un semplice reindirizzamento di domiain.com/blog per andare a blog.com – roshan

+0

, anche se è esterno all'applicazione (quindi avrà il proprio percorso) non utilizzerei percorsi per questo. I percorsi sono per i percorsi dell'app stessa. –

risposta

8

Non sembra possibile farlo direttamente dai file di percorsi at this moment.

Si potrebbe implementare questo in un controllore:

public class Application extends Controller { 

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

Grazie. Sì, questa è la soluzione migliore finora (a parte il fronting di un apache/web server). Non sei sicuro di quante risorse possono essere salvate se le rotte possono gestire questo caso – roshan

+3

Da un punto di vista SEO, quando si reindirizza al di fuori del dominio consiglio vivamente di usare il 'redirect (" http://www.google.com ", true) ; ', che indicherà ai bot di ricerca che il contenuto è stato spostato in modo permanente nella nuova posizione, anziché temporaneamente (codice HTTP 301 anziché 302). Discussione molto dettagliata dei 302 reindirizzamenti [qui] (http://www.mattcutts.com/blog/seo-advice-discussing-302-redirects/). – pents90

+5

Anche il reindirizzamento diretto dalle rotte è disponibile: 'GET/main controller.Default.redirect (to =" http://google.com/ ")' – FoREacH

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

(Re-post di commento di foreach, perché ne vale la pena essere qui come una risposta)