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

Posted

技术标签:

【中文标题】从通过Passenger/Apache 运行的Sinatra 应用程序的URL 子文件夹提供PHP 的问题?【英文标题】:Issues serving PHP from URL subfolder of Sinatra app running via Passenger/Apache? 【发布时间】:2014-12-17 00:07:50 【问题描述】:

我们有一个 Sinatra 应用程序通过乘客在域根目录中运行,例如 http://rootdomain.com/

我们希望在子目录中提供一些 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/example 或 http://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】:

在这里找到了解决方案:

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

这对于指定文件夹非常简单地禁用乘客,因此在上面的情况下它将是:

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

&lt;virtualhost&gt;...&lt;/virtualhost&gt; 块内。

【讨论】:

以上是关于从通过Passenger/Apache 运行的Sinatra 应用程序的URL 子文件夹提供PHP 的问题?的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu上的Rails3.2+Passenger3+Apache2+RVM

配置 Apache 和 Passenger 以使用 websocket

通过 C++ 运行命令时隐藏控制台窗口

Python小白的数学建模课-B2. 新冠疫情 SI模型

如何在 Windows 8 VS2013 中使用 si.lpReserved 2?

[CQOI2015]任务查询系统