All threads / How to redirect batch of urls from routes.rb

Ask A Question

Notifications

You’re not receiving notifications from this thread.

How to redirect batch of urls from routes.rb

flrnt asked in Rails

I have an issue here and struggling with it for hours.
For SEO purpose, I have to redirect (301) something like 200 urls for now, maybe more later, maybe less.
I want to have easy access to it. So I thought about having a dedicated file containing all url I need to redirect.
Something like

# config/seo_redirection_table.yml
- old_path: '/old/path/1'
   new_path: '/new_path_1'
   status: 301 
- old_path: '/old/path/2'
   new_path: '/new_path_2'
   status: 301 

And then in my routes.rb mapping this file at the very top.
Is it a good practice ? What do you think ? And how can I handle this logic in my routes.rb.

I like that aproach. You could certainly simplify your routes file and that would take care of things in a much nicer way. Loading the yaml file in an initializer and looping through it with some ruby in the routes file should do the trick really easily. And it's super flexible so you can change the format or whatever you like easily in the future.

Join the discussion

Want to stay up-to-date with Ruby on Rails?

Join 37,629+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.

    logo Created with Sketch.

    Ruby on Rails tutorials, guides, and screencasts for web developers learning Ruby, Rails, Javascript, Turbolinks, Stimulus.js, Vue.js, and more. Icons by Icons8

    © 2020 GoRails, LLC. All rights reserved.