从通过Passenger / Apache运行的Sinatra应用程序的URL子文件夹提供PHP的问题?

时间:2014-12-17 00:07:51

标签: php apache sinatra

我们通过http://rootdomain.com/

等乘客在域根目录中运行Sinatra应用

我们想在一个子目录中提供一些PHP页面,如下所示:http://rootdomain.com/example

Sinatra应用程序位于/var/webapps/homepage文件夹中,该文件夹通过mina / git部署。

理想情况下,我们会将PHP脚本放在/var/www/example中,并让这些页面由Apache提供。

我尝试这样做的方法是通过Apache别名:

的httpd.conf

Alias /example/ /var/www/example
Alias /example /var/www/example

但是,http://rootdomain.com/example/index.php以外的任何内容都会返回404(例如:http://rootdomain.com/examplehttp://rootdomain.com/example/`

我的httpd.conf有一个像这样的指令:

<Directory /var/www/example>
        Options All
        AllowOverride All
        order allow,deny
        allow from all
        DirectoryIndex index.html index.php
</Directory>

1 个答案:

答案 0 :(得分:1)

这里找到了一个解决方案:

https://serverfault.com/questions/530958/apache2-with-passenger-and-subdirectory-with-file-listing

这是令人难以置信的,简单地禁用指定文件夹的Passenger,因此在上面的情况下它将是:

<Location /var/www/example/> 
  PassengerEnabled off 
</Location>

<virtualhost>...</virtualhost>区块内。