Есть ли способ настроить Rails, чтобы он использовал другое общедоступное расположение для разных доменов? - PullRequest
0 голосов
/ 06 октября 2011

У меня следующая структура папок:

/rails
  /public
    /images

И у меня есть 2 домена: long_domain.com short.one

Я хочу, чтобы при загрузке long_domain.com он использовал папку / public в качестве публичной, а при загрузке short.one - / public / images

Проблема в том, что я не хочу, чтобы он загружал маршруты, он должен действовать как исходная общая папка.

Можно ли это сделать с помощью Rails? Было бы лучше использовать другой «статичный» и легкий сервер?

1 Ответ

0 голосов
/ 06 октября 2011

Есть несколько способов сделать это.

Если ваши изображения размещены вне сайта, вам придется использовать полные URL-адреса в тегах изображений.Относительные ссылки будут идти на ваш CDN или сайт, где находятся ваши изображения.Преимущество здесь в том, что у вас есть явный контроль над вашим приложением, и оно, вероятно, будет работать.Я бы определил некоторую константу в моей конфигурации для местоположения размещения изображений, чтобы потом легко изменить ее.

Помимо этого, вы можете использовать mod_passenger для прокси обратно в Rails и использовать правило mod_rewrite для перезаписи вашего изображенияметки на лету.Преимущество здесь в том, что вам не придется менять свое приложение (хотя изменения, вероятно, не так уж и плохи).Проблема в том, что mod_rewrite является регулярным выражением, поэтому может потребоваться некоторая игра, чтобы выяснить правильное правило (и протестировать все странные случаи).

Третий вариант - использовать гем.Если вы действительно пытаетесь масштабировать обработку изображений, вам следует просто переключиться на Dragonfly, который может хранить дополнительную копию изображения в любом месте, где вы захотите.У этого есть много вариантов и особенностей.Звучит так, будто вас заинтересовал этот аспект: http://markevans.github.com/dragonfly/file.DataStorage.html

Надеюсь, это даст вам некоторые идеи.

...