Redmine在Apache中无法正常工作

时间:2009-06-15 14:18:27

标签: ruby-on-rails apache

我正在努力让Redmine(一个Ruby on Rails应用程序)工作。它在ruby script/server webrick -e production启动时工作正常,但是,我在使用Passenger的Apache工作时遇到了麻烦。

访问http://example.com/redmine会返回Redmine主页,但点击任意链接(甚至向网址添​​加/)都会产生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节)中的文档进行操作,因此/var/www/localhost/htdocs/redmine处的符号链接指向../htapps/redmine/public,而Apache配置包含DocumentRoot /var/www/localhost/htdocsRailsBaseURI /redmine

是什么导致它引发这些RoutingErrors?

4 个答案:

答案 0 :(得分:2)

看起来这个问题实际上是由Redmine附带的默认.htaccess引起的。

Redmine的.htaccess重写每个以.html结尾的请求。 Redmine的路线预计会减少.html的请求。

RewriteEngine设置为Off为我解决了这个问题。

答案 1 :(得分:0)

http://ptspts.blogspot.com/2009/05/how-to-fix-railsbaseuri-sub-uri-with.html

手动解决方法(根据上面的建议)将以下行添加到config / environments / production.rb:

config.action_controller.relative_url_root ='/ redmine'

答案 2 :(得分:0)

如果没有使用Sub-URI部署到passenger 部署adding,则RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]的{​​{1}}规则也会解决问题。该规则为public/.htaccess - 默认为IfModule

另一个选项是delete .htaccess如果您没有使用它(例如,您可能会将其用于.htaccess等其他图层身份验证)。与乘客一起部署时not required

答案 3 :(得分:0)

即使你设法在suburi中运行Redmine,redmine仍然会有问题。 如果完全显示,某些页面将无法正确解析和显示。

这个问题差不多有一年了,并指出下一个小版本。 Btw十几个小版本问世,但还没有修复。 FCGI mode does not support sub-URI