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

Responder a