[pyar] Redireccion en Django vs htaccess file

Pablo Ziliani pablo en kultroom.com
Jue Feb 17 17:21:11 ART 2011


On 02/17/2011 04:53 PM, Sebastian Bassi wrote:
> Tengo un sitio viejo con urls tipo:
> dominio.com/algo/otra_cosa/un_url_cualquiera
> y quiero que mi nuevo sitio en Django, que estará hostado en el mismo
> dominio, tengo retrocompatibilidad de links, porque si bien voy a
> generar links nuevos a medida que agregue contenido, tambien quieron
> preservar mis links viejos y hacer que si alguien cliquea en un link
> que apunta a:
> dominio.com/algo/otra_cosa/un_url_cualquiera
> sea redireccionado a:
> dominio.com/nuevo_url_mas_lindo_asociado_al_contenido_viejo
>
> Se me ocurren 2 maneras:
> 1) La manera Django entiendo que seria usando el URL dispatcher
> (http://docs.djangoproject.com/en/1.2/topics/http/urls/).
> 2) Especificando los urls en el .htaccess del Apache.
>
> Considerando que no necesito nada dinamico (los URLs viejos es un
> grupo de nombres que no crece nunca mas) y que supongo que Apache es
> mas rápido que el interprete de Python, creo que en este caso la mejor
> opción es 2.
> ¿que opinan?

Hola Sebastián,

Creo que en este caso yo lo decidiría según qué tan normalizadas estén 
las urls viejas. Es decir, si podés resolverlo en Apache con un set 
razonable de reglas (assert razonable ~= 5) me parece una buena opción, 
siempre y cuando después no se te ocurra volver a ocupar esas urls 
viejas con contenido nuevo (quizás ahora no, pero en 2 o 3 años podés 
caer en algo así sin querer). Que en la práctica te quedan dos 
dispatchers es otro trade-off que tenés que evaluar (sí, ya sé que de 
todos modos ya los tenés, pero la configuración típica de Apache suele 
ser tan trivial y predecible que para mí no cuenta).

Por otro lado, hacerlo con Django te permite manejar el grano fino, 
podrías crearte un legacy_urls.py donde vas pasando los cadáveres e 
incluirlo en el urls.py nuevo. Es más ordenado y queda mejor 
"documentado", en caso de que el proyecto crezca.

Al margen de eso puntual, tené en cuenta que por SEO en estos casos te 
conviene hacer redirects permanentes (HTTP 301) en vez de los redirects 
temporarios (302), más habituales.



More information about the pyar mailing list