2009-06-15 71 views
3

正常工作,我試圖讓管理平臺(一個Ruby on Rails應用程序)工作。它在ruby script/server webrick -e production開始時工作正常,但是,我無法使用Passenger在Apache中工作。管理平臺不存在於Apache

訪問http://example.com/redmine返回管理平臺主頁,但點擊任何鏈接(或者甚至添加/到URL)的結果是404根據Rails的日誌,出現RoutingError。例如,打開項目頁面時:ActionController::RoutingError (No route matches "/projects.html" with {:method=>:get})

Redmine目錄爲/var/www/localhost/htapps/redmine。我遵循文檔http://www.modrails.org/documentation/Users%20guide.html#_deploying_a_ruby_on_rails_application(第3.2節),因此存在指向../htapps/redmine/public/var/www/localhost/htdocs/redmine的符號鏈接,並且Apache配置包含DocumentRoot /var/www/localhost/htdocsRailsBaseURI /redmine

是什麼原因造成它提出這些RoutingErrors?

+0

你檢查你的乘客的配置? – liangzan 2009-06-18 08:42:23

+0

你能否詳細說明一下?我遵循http://www.modrails.org/documentation/Users%20guide.html#_deploying_a_ruby_on_rails_application上的說明,特別是第3.2節。它沒有提及任何Passenger配置。 – Zr40 2009-06-18 14:26:14

回答

2

看起來這個問題實際上是由Redmine附帶的默認.htaccess引起的。

Redmine的.htaccess重寫每個請求以.html結束。 Redmine的路線預計.html-less請求。

設置RewriteEngineOff解決了我的問題。

0

如果沒有部署到使用passengeradding規則RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]public/.htaccess一個Sub-URI部署也解決了這個問題。由於該規則是IfModule默認.htaccess -ed出來。

另一種選擇是delete.htaccess如果你不使用它(作爲一個例子,你可能會用它來額外的層認證與AuthType Digest等)。與乘客部署時爲not required

0

即使您將設法在suburi中運行Redmine,redmine仍然會有問題。 如果顯示的話,某些頁面將不會被正確解析和顯示。

這個問題幾乎是一歲和次要版本表示。一些次要的版本出來了,但它還沒有修復。 FCGI mode does not support sub-URI