帮助php和ruby on rails共存

时间:2014-02-17 16:19:41

标签: php ruby-on-rails ruby ruby-on-rails-3 moodle

我在使用Apache作为Web服务器的服务器上运行了一个RoR应用程序。我也有一个moodle的实例,一个基于PHP运行的LMS。我已将moodle的web根目录放在RoR空间内,并且大部分工作正常。

在moodle内部,如果我去sitename.com/moodle/my RoR拦截该请求并报告它无法找到该页面。如果我去sitename.com/moodle/my/index.php它可以正常工作。

我尝试创建一个新的虚拟服务器,但是在443上运行的第二个服务器没有用(基于RoR的站点都在ssl下)。

有没有人知道告诉RoR忽略moodle目录或让RoR自动检测并将index.php附加到路径的方法。

1 个答案:

答案 0 :(得分:0)

我遇到同样的问题是apache2配置与下面描述的相同类型的问题。 示例文件夹是rails应用程序文件夹,“/ en / blog”是rails应用程序的公用文件夹中的文件夹路径,其中我有一个wordpress安装,所以在配置允许的apache关闭乘客请求“http:/ example .com / en / blog“所以这个请求不是乘客处理的,这个请求是作为普通的php请求服务所以我能够在同一台服务器上运行一个wordpress博客和一个rails应用程序。

      #!!!务必将DocumentRoot指向“公开”!

  DocumentRoot /var/www/example/public

  #RailsEnv production      
  <Directory /var/www/example/public>
     # This relaxes Apache security settings.
     AllowOverride all
     # MultiViews must be turned off.
     Options -MultiViews
  </Directory>

  <Location /en/blog>
     PassengerEnabled off
     <IfModule mod_rewrite.c>
       RewriteEngine On
       RewriteBase /en/blog/
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteCond %{REQUEST_FILENAME} !-d
       RewriteRule . /en/blog/index.php [L]
     </IfModule>
  </Location>