从通过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>
在<virtualhost>...</virtualhost>
块内。
【讨论】:
以上是关于从通过Passenger/Apache 运行的Sinatra 应用程序的URL 子文件夹提供PHP 的问题?的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu上的Rails3.2+Passenger3+Apache2+RVM
配置 Apache 和 Passenger 以使用 websocket