2009-03-23 18 views
2

mod_railsを実行しているApache 2.2をhttp://localhostに持っています。私はレールアプリをhttp://localhost/railsBlogに持っています。だから、私がやったことは、私は仮想ホストを作成しました:map.rootを '/'以外のものに変更する方法はありますか?

 

    ServerName localhost 
    DocumentRoot /Library/WebServer/Documents 
    RailsEnv development 
    RailsBaseURI /railsBlog 

、URLがhttp://localhost/railsBlogているので、サーバービューははrailsBlogものではありません私が渡しているコントローラ、などが欲しいです。だから私が行くときhttp://localhost/railsBlog/home/index。これは 'railsBlog'コントローラ(存在しない)と 'ホーム'ビュー(存在しない)に移動しようとするため、私の 'ホーム'コントローラと 'インデックス'ビューには到達しません。

これを解決する方法の1つは、map.rootを/railsBlogに再定義することだと思います。しかしどうですか?私はこれを回避することができ

もう一つの方法は、持っているのconfig/routes.rbをを変更することです:

 
map.connect 'railsBlog/:controller/:action/:id' 

しかし、これは私がこのファイルに私は別に展開するたびに変更しなければならないことを意味しますロケーション。

または、これを回避する他の方法はありますか?

答えて

4

あなたが設定/ environment.rbに(または特定の環境ファイルの1つ)にこのような行を置くことができます

config.action_controller.relative_url_root = "/railsBlog" 

また、たとえば、Webディレクトリのルートにpublcディレクトリをシンボリックリンクする必要があり:

ln -s /rails/railsBlog/public /webroot/ 

これはちょうど前の回答に追加するすべての乗客のドキュメントから

+0

Danさんに感謝します。config/environment.rbの行を追加しました。 また、http:// localhost/railsBlogが私の公開ディレクトリを指し示すシンボリックリンクを既に持っています。 – mixmasteralan

1

です...ここのドキュメントのURLは次のとおりです。

http://www.modrails.com/documentation/Users%20guide.html#deploying_rails_to_sub_uri

あなたが壊れたイメージ、CSS、リソースへのリンクでエラーに実行している場合にも、ここでいくつかの情報が

http://www.modrails.com/documentation/Users%20guide.html#sub_uri_deployment_uri_fix

は...基本的に、それはあなたが常にレールを使用する必要がありますと言いますヘルパー関数(image_tag、javascript_include_tag、およびstylesheet_link_tag)を使用して、URLを手動でコーディングします。これらは自動的にあなたが設定したサブURIで正しいURLを生成します。

これにより、すべての参照を変更することなく、アプリケーションを別のサブURIまたはサブURI設定から簡単に移動できます。

1つの仮想サーバーステートメントを使用して、複数のRailsBaseURI行を使用して複数のアプリケーションを展開できます。これは、私たちが構築しようとしていたアプリのために便利でした。

関連する問題