301 Redirect, используя только маршруты, без контроллера - PullRequest
1 голос
/ 26 ноября 2011

Я бы хотел сделать редирект 301, но я хочу поймать все.В настоящее время у меня есть домен, размещенный на Wordpress, и у меня есть как страницы, так и сообщения.Если эти страницы или сообщения не существуют в моем новом приложении rails, я хочу перенаправить на домашнюю страницу.

Я использую Heroku для размещения, поэтому я не могу сделать это с веб-серверомНасколько я знаю, поэтому мне нужно сделать это внутри Rails.У меня нет контроллера как такового, но я мог бы взломать контроллер страницы и использовать его.Можно ли как-нибудь поместить в конец файла маршрутов что-то, говорящее: «Если этой страницы не существует, перенаправьте ее на домашнюю страницу»?

Ответы [ 2 ]

2 голосов
/ 26 ноября 2011

Начиная с документов , 3.10 вы можете использовать расширенные ограничения и перенаправления, такие как:

matches '*any_path' => redirect('/')

Обязательно добавьте этот глобальный маршрут после маршрутов ваших страниц, поскольку этот маршрут соответствует всем путям.

1 голос
/ 27 ноября 2011

Ответ Марка, похоже, не сработал для меня, но он указал мне правильное направление, поэтому я поставил ему зеленую галочку.

То, что я закончил, это добавление следующегона мой route.rb:

match "*rest", :to => "pages#redirect"

и затем на моих страницах контроллера сделайте следующее:

...