У меня есть старое приложение, написанное на PHP, и теперь я заменяю его новым приложением RoR. В старом приложении есть такие ссылки, как "this-is-seo-title,n123.html". В htaccess есть правило, которое переводит эти ссылки на news.php?id=123.
Теперь, когда я устанавливаю приложение RoR, ссылки находятся в «пути RoR» (:controller/:action/:id). Это круто и красиво, но в Google у меня около 50 тысяч проиндексированных подстраниц. Я не хочу, чтобы эти проиндексированные подстраницы были сломаны, поэтому теперь вот вопрос:
Могу ли я создать новые правила в файле htaccess, которые будут переводить ссылки «this-is-seo-title, n123.html» в /news/123?
Я еще не развернул приложение, и у меня нет доступа к среде с пассажирским модулем, поэтому я не могу протестировать его самостоятельно.
1 ответ
Я не думаю, что нужно использовать htaccess. Если вы переходите на рельсы, то делайте это с помощью помощников рельсов. Я думаю, что это должно работать в вашем route.rb:
match 'this-is-seo-title,n:id.html' => 'news#show'
Этот маршрут вызовет NewsController и действие show со значением 123 в качестве параметра :id. Это то, что вы искали?
Редактировать:
Для Rails 2
map.connect 'this-is-seo-title,n:id.html', :controller => 'news', :action => 'show'
По крайней мере, я думаю, что это сработает в Rails 2. У меня нет запущенной и работающей среды atm для тестирования. Дайте мне знать, если это не сработает.
Похожие вопросы
Новые вопросы
ruby-on-rails
Ruby on Rails - это полнофункциональная платформа веб-приложений с открытым исходным кодом, написанная на Ruby. Он следует популярной модели фреймворка MVC и известен своим подходом «соглашение поверх конфигурации» при разработке приложений.