1

Rails 3 アプリを Passenger で実行しています。私は自分のサイトのフロントページとして機能したいphpで構築された小さなサイトを持っています。実際の Rails アプリにつながるリンクが含まれています。PHP のものは、私の public ディレクトリのサブディレクトリにあります。

現在、ドキュメント ルートを /var/www/myapp/current/public に設定すると、サイトが正常に動作するようになります。ドキュメント ルートを /var/www/myapp/current/public/php_site に設定してみました。ディレクトリの PassengerEnabled は off に設定されています。自分のサイトにアクセスしたときにphp部分がデフォルトページとして正しく機能するようにしますが、Railsアプリは機能しません。PHP 部分と Rails アプリの両方を連携させるにはどうすればよいですか? ありがとう

4

1 に答える 1

0

これが私がすることです...

Rails アプリは /var/www-ruby/ にあります

私のApacheルートは /var/www/ です

/var/www/ でいくつかの PHP を実行しています。

Passenger/Apache を介してサービスを提供する必要がある Rails アプリについては、/var/www/ から /var/www-ruby/my-app-name/public/ へのリンクを作成します。

例: 現在のディレクトリは /var/www/

ln -s /var/www-ruby/my-app-name/public/ my-app-name

誰かがhttp://example.com/my-app-nameにアクセスすると、 /var/www-ruby/my-app-name/public/ のコンテンツが提供されます

[編集]

/etc/apache2/sites-available/default の関連部分は次のとおりです。

<VirtualHost _default_:80>
        DocumentRoot /var/www/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>


  RailsBaseURI /ticketqueue
    <Directory /var/www-ruby/ticketqueue>
        Options -MultiViews
    </Directory>

  RailsBaseURI /dashboard
    <Directory /var/www-ruby/dashboard>
        Options -MultiViews
    </Directory>


</VirtualHost>

そのファイルを編集した後、apache を実行a2dissite defaulta2ensite defaultてリロードすることにより、デフォルトを無効にして再度有効にする必要がある場合があります。/etc/init.d/apache2 reload

于 2012-05-16T14:36:25.370 に答える