1

我的 Rails 3 应用程序与乘客一起运行。我有一个用 php 构建的小网站,我想将它作为我网站的首页。它包含一个指向实际 Rails 应用程序的链接。php 的东西位于我的公共目录的子目录中。

现在将文档根目录设置为 /var/www/myapp/current/public 将允许我的站点正常工作。我尝试将文档根目录设置为 /var/www/myapp/current/public/php_site,并将该目录的PassengerEnabled 设置为关闭。当我访问我的网站时,使 php 部分作为默认页面正常工作,但随后 rails 应用程序无法正常工作。如何让 php 部分和 rails 应用程序一起工作?谢谢

4

1 回答 1

0

这就是我要做的...

我在 /var/www-ruby/ 中有我的 Rails 应用程序

我的 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 default默认a2ensite default/etc/init.d/apache2 reload

于 2012-05-16T14:36:25.370 回答