nginx,乘客只显示根页面,所有其他路由都失败

时间:2015-02-14 22:45:29

标签: ruby nginx passenger

Nginx +乘客只显示根页面/路径,所有其他路由失败,404 Not Found。 我知道nginx和乘客必须正在运行才能正确显示根路径。以下是网站的条目:

    server {
      listen 80;
      server_name staging.redacted.com; # Replace this with your site's domain.

      passenger_enabled on;
      passenger_app_env staging;

      keepalive_timeout 300;

      client_max_body_size 4G;

      root /var/www/staging.redacted.com/current/public; # Set this to the public folder location of your Rails application.

      #try_files $uri/index.html $uri.html $uri;
      try_files $uri $uri/ =404;

    }

routes.rb - 即使它们都有效并传递其规格。

    Rails.application.routes.draw do

      resources :users

      resources :brand_api_keys

      resources :ir_service_buckets
      resources :ir_service_images
      resources :ir_services do
        resources :ir_service_buckets do
          resources :ir_service_images
        end
      end
      resources :devices do
        resources :scans
      end
      resources :images do
        resources :scans
      end
      resources :campaigns do
        resources :images
      end
      resources :agent_brands
      resources :brands do
        resources :brand_api_keys
        resources :ir_service_buckets do
          resources :ir_service_images
        end
        resources :agent_brands
        resources :campaigns
      end
      resources :agents do
        resources :brand_api_keys
        resources :agent_brands
      end

      root 'agents#index'
    end

1 个答案:

答案 0 :(得分:12)

尝试删除try_files $uri $uri/ =404; 完全删除或注释try_files行,它会起作用。