2009-06-15 10 views
3

私はRedmine(Ruby on Railsアプリケーション)を動かそうとしています。 ruby script/server webrick -e productionで起動するとうまく動作しますが、ApacheでPassengerを動作させるのに問題があります。RedmineがApacheで正常に動作しない

http://example.com/redmineにアクセスすると、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)のドキュメントに従っていたので、/var/www/localhost/htdocs/redmineにあるシンボリックリンクは../htapps/redmine/publicを指していて、Apacheの設定にはDocumentRoot /var/www/localhost/htdocsRailsBaseURI /redmineが含まれています。

これらのルーティングエラーを引き起こす原因は何ですか?

+0

乗客の設定を確認しましたか? – liangzan

+0

詳しいことはありますか?私はhttp://www.modrails.org/documentation/Users%20guide.html#_deploying_a_ruby_on_rails_application、具体的にはセクション3.2の指示に従った。それは旅客の構成について言及していない。 – Zr40

答えて

2

Redmineに含まれているデフォルトの.htaccessによって実際に発生したようです。

Redmineの.htaccessはすべての要求を.htmlで終わるように書き換えます。 Redmineのルートは.htmlレスのリクエストを期待しています。

設定RewriteEngineOffは私の問題を解決しました。

0

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

(上記ページに提案されているものによって)手動の回避策は、設定/環境/ production.rbに下の行追加されている:

config.action_controller.relative_url_root =「/記法を'

+0

私はそのブログの記事は別の問題を記述していると思います。彼らのエラーメッセージは、パスに 'myapp'(この場合は 'redmine'になる)が含まれていることを示しています。私のエラーメッセージはそれを含んでいません。どのような場合でも、この回避策を試みましたが、起動エラーが発生しました: '未定義のメソッド 'relative_url_root =' for ActionController :: Base:Class ' – Zr40

0

あなたpublic/.htaccesspassengeraddingルールRewriteRule ^(.*)$ dispatch.fcgi [QSA,L]を使用してSub-URI展開にデプロイされていない場合も、問題を解決します。そのルールはIfModule - デフォルトの.htaccessになっています。

もう1つのオプションはdelete.htaccessです(例として、AuthType Digestなどで追加のレイヤー認証に使用している可能性があります)。乗客と共に配備するときはnot requiredです。

0

Redmineをサブリで実行しても、Redmineには問題があります。 一部のページは、まったく表示されないと、正しく解析されて表示されません。

この問題は、ほぼ1歳で、次のマイナーリリースに指定されています。 Btwダースのマイナーリリースが出ましたが、まだ修正されていません。 FCGI mode does not support sub-URI

関連する問題