В системе установлены Apache2 и Ruby on Rails. Требуется настроить Apache таким образом, чтобы одни запросы он обрабатывал самостоятельно, а другие направлял на обработку в rails-приложение.
Привязку пути из URL запроса, пришедшего в Apache, настраиваем конфигурацией файла /etc/apache2/conf.d/rails.conf:
Alias /rails /var/www/rails/public <Directory /var/www/rails/public> RewriteEngine On RewriteBase /rails RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly" </Directory>
Каталог приложения: /var/www/rails. С помощью директивы Alias привязываем путь /rails к каталогу приложения. Далее, с помощью директив RewriteRule и RewriteCond указываем, что при отсутствии запрашиваемого файла в каталоге public приложения, запрос должен передаваться rails-приложению, запускаемому в режиме FastCGI с помощью скрипта dispatch.fcgi.