hi, i have created a redirection controller for redirect old pages of another previous site: ####### start code ###### class RedirectController < ApplicationController def index headers["Status"] = "301 Moved Permanently" if params[:url] redirect_to params[:url] return else redirect_to index_path end end end ####### end code ###### in the routes.rb i have setting this rules: ####### start code ###### map.connect ''/index.htm'', :controller => ''redirect'' map.connect ''/modules.php?name=News&file=pdf&sid=87'', :controller => ''redirect'' ####### end code ###### for the first rule (index.htm) the redirection woks fine, but on second rule the redirection don''t success. what if the correct syntax i doing to use for my purpose? thanks -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
> > map.connect ''/modules.php?name=News&file=pdf&sid=87'', :controller => > ''redirect'' > > for the first rule (index.htm) the redirection woks fine, but on second > rule the redirection don''t success. > what if the correct syntax i doing to use for my purpose? >map.connect ''/modules.php'', :controller => ''redirect'' The ? params are automatically extracted from the URL to the params hash in Rails, leaving the URL being the part before the ?. If you want to redirect only specific parameters on that URL, you''ll have to handle that within your RedirectController (or alternatively handle this with a Rails metal that internally rewrites the URL and returns a 404 (to bounce it up in to Rails)). Cheers, Andy -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
thank you Andy i have tryed with : map.connect ''/modules.php'', :controller => ''redirect'' but it not wook i have try with metal too: ####### start code ###### require(File.dirname(__FILE__) + "/../../config/environment") unless defined?(Rails) class RedirectOldSite def self.call(env) if env["PATH_INFO"] =~ /^\/modules\.php\?name=News&file=pdf&sid=(\d*)/ [200, {"Content-Type" => "text/html"}, ["Hello, World!"]] else [404, {"Content-Type" => "text/html"}, ["Not Found"]] end end end ####### end code ###### but it not work too. i suppose the problem is the .php extension, because if i use the rule: /^\/modules/ and in the browser i point to mydomain/modules the rule setting in metal works fine. any idea? -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
> > if env["PATH_INFO"] =~ /^\/modules\.php\?name=News&file=pdf&sid=(\d*)/ >PATH_INFO already has the query string stripped off. This works for me in a quick Rails Metal: if env["REQUEST_URI"] =~ /^\/test\.php\?foo=bar/ [200, {"Content-Type" => "text/html"}, ["Hello, World!"]] else [404, {"Content-Type" => "text/html"}, ["Not Found"]] end Cheers, Andy -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
i have try this solution, but still don''t work -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.