我只是想在我的新VPS服務器上用Ubuntu 12.04,Apache和PhusionPassenger測試一個簡單的rails應用程序。刪除public/index.html後出現錯誤404
一切工作正常與公共目錄中的默認index.html文件。
但是,如果我刪除這個文件,並嘗試從視圖目錄呈現文件,我得到和404錯誤。 在我的本地機器上,一切正常......
我想,也許它與資產管道有關,所以我試着「耙資產:預編譯」,但它沒有幫助。
編輯:我已經設置了正確的根路徑,並帶有操作和方法。
我只是想在我的新VPS服務器上用Ubuntu 12.04,Apache和PhusionPassenger測試一個簡單的rails應用程序。刪除public/index.html後出現錯誤404
一切工作正常與公共目錄中的默認index.html文件。
但是,如果我刪除這個文件,並嘗試從視圖目錄呈現文件,我得到和404錯誤。 在我的本地機器上,一切正常......
我想,也許它與資產管道有關,所以我試着「耙資產:預編譯」,但它沒有幫助。
編輯:我已經設置了正確的根路徑,並帶有操作和方法。
我發現我的問題的解決方案:
日誌文件顯示 「application.css不預編譯」 。
而不是:rake assets:precompile
我用bundle exec rake assets:precompile
,現在它工作正常!
也許你沒有在你的應用程序中設置root_path。你可以像這樣設置它:root => "controller_name#action_name"
。
index.html文件是您的根網址的默認替代品。
所以,當你刪除它,那麼沒有路由處理根網址(/)。
設置根URL(/),這些航線將做:
root :to => 'controller#action'
root => 'controller#action'
get '/' => 'controller#action'
我在routes.rb中的根URL是正確的。如果我在本地機器上運行rails服務器,一切正常。只有在服務器上部署後,我纔會收到錯誤消息。如果我有服務器上的public/index.html,它也可以... – crispychicken
您是否記得在您的routes.rb文件中設置一個新的':root'? – MrDanA
其他路線有效嗎? – Mab879
我沒有其他路線。我剛剛創建了一個默認的rails應用程序,並想測試webserver上的所有內容。我生成了一個控制器和一個模板,刪除了public/index.html並更新routes.rb – crispychicken