Я совсем новичок как в nginx, так и в passenger и в ruby on rails. Хотел бы спросить, можно так настроить, чтобы при не нахождении адреса в routes (rails), nginx показывал мне страницу 404.html, именно nginx, а не rails.
Я сделал вот так, но почему-то не работает:
1. В routes.rb указал последним вот такое правило:
match '*a', :to => 'errors#routing'.
2. Создал контроллер errors_controller вот с таким вот содержимым:
class ErrorsController < ApplicationController
def routing
render :file => "#{Rails.root}/public/404.html", :status => 404, :layout => false
end
end
3. В nginx.conf указал следующее:
server {
listen 80;
server_name localhost;
proxy_intercept_errors on;
location / {
root /web/rubyOnRailsApps/helloworld/public;
passenger_enabled on;
rails_spawn_method smart;
rails_env development;
error_page 404 /web/static/html/404.html;
}
}
Показывает страницу ror, а не nginx.