Una vez hice algo con mod_perl en apache para redireccionar a un sitio de chile o de argentina, dependiendo del ip del usuario. Imagino que podrías usar algo así..... un frontend en rails para administrar los redirects, si es q van a estar en una base de datos (quizás se podrían ver otras opciones), y usar mod_perl para hacer los redirects a nivel del apache consultado la base -- :: nelson :: artesano de software http://netflux.com.ar
2008/5/28 NachoKB <[EMAIL PROTECTED]>: > El tema es que tengo que permitir que redireccionen de cualquier URL > (agregarle el prefijo ya lo hace otra url), y pueden saltar con > absolutamente cualquiera... > > Con el tema de usar el redirect del web server, tampoco aplica. Para agregar > un redirect, tendría que (1) editar un archivo de configuración, (2) > restartear el web server. Necesito que lo pueda hacer un usuario via web > (sin acceso a los archivos de configuración). Por eso digo que (en > principio) los Redirects serían models AR... > > Saludos, > > nacho > > 2008/5/28 Adrian Madrid <[EMAIL PROTECTED]>: >> >> Si no podes hacer los redirects prefixeados como sugiere Nelson esta >> complicado. La unica otra opcion es saltearte Rails y usar un redirect map >> file en Apache (si estas usando Apache) aunque no se si podes modificarlo y >> no tener que recomenzar Apache. La verdad que no le veo una solucion >> sencilla: o salteas el problema de conflictos usando un prefix o tenes que >> reescribir las rutas y recomenzar el server. >> >> AEM >> >> 2008/5/28 nelson fernandez <[EMAIL PROTECTED]>: >>> >>> Nacho, >>> >>> Desconozco el dominio del problema, pero quizás una solución algo más >>> simple podría ser dejar fija una parte de la ruta y usar los >>> parámetros para hacer el redirect, algo así >>> >>> map.connect '/r/*sections', :controller => :redirects, :action => >>> redirect >>> >>> >>> -- >>> :: nelson :: >>> artesano de software >>> http://netflux.com.ar >>> >>> >>> 2008/5/28 NachoKB <[EMAIL PROTECTED]>: >>> > Grupo, >>> > tengo una duda con respecto a las rutas. El problema particular es >>> > que >>> > necesito implementar redirects arbitrarios administrables por un >>> > usuario >>> > (por lo que voy a tener un model Redirect, etc, etc). >>> > >>> > En donde me trabé es con las benditas rutas. Según entiendo, el >>> > primer >>> > mapeo que matchea la url (según el orden en que se declaran en el >>> > routes.rb) >>> > es el que determina qué es lo que se ejecuta. >>> > >>> > Mi problema es si quiero tener redirects arbitrarios, necesito una >>> > manera >>> > de que, si la url no matchea algún redirect específico (y esto está >>> > definido >>> > por lógica propia del redirect, no alcanza el método connect...), poder >>> > continuar con la evaluación de las rutas subsiguientes. >>> > >>> > Algo así nunca lo vi posteado en ningún lado. Doy un ejemplo a ver si >>> > puedo aclarar un poco: >>> > >>> >> routes.rb: >>> >> >>> >> map.connect '*path', :controller => :redirects, :action => redirect >>> >> >>> >> map.connect ':controller/:action/:id' >>> > >>> > en este caso, la segunda regla nunca se llega a considerar (ya que la >>> > primera siempre matchea). RedirectsController siempre se ejecuta, aún >>> > cuando >>> > no encuentre un redirect que aplique a la URL del request (en cuyo caso >>> > no >>> > tiene forma de devolver el control de flujo a Routing). >>> > >>> > Entonces, dije, hago algo así (siempre usando rutas clásicas sin >>> > resources >>> > en los ejemplos): >>> > >>> >> routes.rb: >>> >> >>> >> map.connect ':controller/:action/:id' >>> >> >>> >> map.connect '*path', :controller => :redirects, :action => redirect >>> > >>> > El problema con este approach es que si tengo un controller "Blog", >>> > por >>> > ejemplo, y quiero tener un redirect de "/blog/read/16" a >>> > "/blog/show/nombre-de-un-post", "/blog/read/16" matchea la primera >>> > regla >>> > (con { :controller => :blog, :action => :read, :id => "16" }) y nunca >>> > se >>> > ejecuta el controller Redirects... >>> > >>> > Por un lado necesito la flexibilidad de trabajar con redirects >>> > absolutamente arbitrarios (editables por un usuario), pero por otro >>> > lado >>> > comienzo a temer por el lado de performance. Una que se me había >>> > ocurrido >>> > era extender el connect con un bloque (que sirva de predicate para >>> > aceptar >>> > la regla definitivamente, y ahí pondría la lógica propia). El problema >>> > sería >>> > que eso se ejecutaría absolutamente en todo request (teniendo un >>> > overhead >>> > que puede ser notable si no cacheo esas consultas). >>> > >>> > Se me ocurriría extender Redirect Routing [1] para soportar bloques >>> > (me >>> > ahorraría el controller)... tendría que pensar en cómo hacerlo lo más >>> > light >>> > posible de todas maneras... >>> > >>> > ¿Se les ocurre o conocen algo que se me haya pasado? >>> > >>> > nacho >>> > >>> > [1] >>> > http://pinds.com/2006/07/18/release-redirect-routing-plugin-for-rails >>> > >>> > _______________________________________________ >>> > Ruby mailing list >>> > [email protected] >>> > >>> > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >>> > >>> > >>> _______________________________________________ >>> Ruby mailing list >>> [email protected] >>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >> >> >> >> -- >> Adrian Esteban Madrid >> Lead Developer, Prefab Markets >> http://www.prefabmarkets.com >> _______________________________________________ >> Ruby mailing list >> [email protected] >> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >> > > > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > > _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
