Как переписать изображение / <text>- <imageID>- <text>в изображение / ID.jpg? - PullRequest
0 голосов
/ 20 апреля 2010

Раньше у меня были веб-сайты PHP и я использовал переписывание URL-адресов на картинке, чтобы иметь URL-адреса, оптимизированные для SEO. На php у меня были ссылки типа /image/blablablabla-1234-blablabla переписывание на: /image/1234.jpg с использованием правила перезаписи URL-адресов в файле apache .htaccess.

Итак, я бы хотел, чтобы структура /image/<text>-ID-<text> возвращала /image/<id>.jpg независимо от содержания текста.

Теперь я полностью перешел на ruby ​​на рельсах и хотел бы знать, как лучше всего это сделать.что на RoR?Я размещаю веб-сайты на Apache с пассажиром.

Я думаю, что решение находится в файле маршрута рельсов, но я не могу найти подходящий способ достичь этого.

Заранее спасибо.

1 Ответ

0 голосов
/ 20 апреля 2010
  1. Если вам нужно пройти через контроллер rails (для аутентификации и т. Д.), Вы можете:

A. Попробуйте плагин friendly_id . У вас есть эта функциональность из коробки.

friendly_id guide

B. Добавьте before_filter в свой контроллер (для анализа любого вида URL в этой форме)

before_filter :rewrite_id

def rewrite_id
  if params[:id] && params[:id] =~ /[a-zA-Z0-9]*-([0-9]*)-[a-zA-Z0-9]*/
    params[:id] = $1.to_i
  end
end
  1. Если это просто статические данные, лучше быть сервером напрямую через интерфейс Apache, поэтому вы должны использовать ту же технику, что и с php.
...