Вопрос

I have a RoR app running on a server using Apache as the web server. I also have an instnace of moodle, an LMS based on PHP running. I have placed the web root of moodle inside the RoR space and for the most part it is working ok.

Inside moodle, if I go to sitename.com/moodle/my RoR intercepts that request and reports that it cannot find the page. If I go to sitename.com/moodle/my/index.php it works fine.

I tried creating a new virtual server but adding a second server running on 443 didnt work (the RoR based site is all under ssl).

Does anyone know of a way to tell RoR to ignore the moodle dir or get RoR to automatically detect and append the index.php to the path.

Это было полезно?

Решение

Me to had a same issue below is the apache2 config for the same kind of issue as describe below. Example folder is the rails application folder and "/en/blog" are the folder path in public folder of rails application in which i had a wordpress install so below configuration allow's apache to turn off passenger for a request made to "http:/example.com/en/blog" so this request is not process by passenger and this request is service as a normal php request so i was able to have a wordpress blog and a rails application running on same server.

# !!! Be sure to point DocumentRoot to 'public'!

  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>

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top