我目前正在开发一个网站核心是PHP的网站。我现在想在该核心之上编写一堆应用程序,并希望在Rails中实现它。我在网上看到了一些你可以设置由PHP处理的单个文件夹的东西(例如:http://macdiggs.com/2007/06/29/using-php-inside-rails-structure-on-apache/)但是我希望反过来,有单个文件夹由Rails处理,然后其余的是由PHP处理。例如,将ourwebsite.com/blog作为Rails应用程序,但是ourwebsite.com和ourwebsite.com/internal都使用PHP。什么样的Apache配置会让这种情况发生?
(作为奖励,我的服务器由Plesk管理,所以我担心直接更改apache配置。我有root权限,所以我可以做到,但我担心Plesk可能会生气)< / p> 编辑:我还应该提一下,我使用Subdomains作为我的应用程序的一部分,所以我更喜欢像wewebsite.com/rails_app这样的东西。如果这是唯一的选择,我可以走那条路,但我不愿意。
答案 0 :(得分:3)
我正在开发一个项目,它在php中有一些博客,即wordpress和rails中的应用程序。刚刚在一小时前配置它。可以帮到你。
<VirtualHost *:80>
ServerName abc.com
DocumentRoot /home/me/apps/my_rails_app/current/public
</VirtualHost>
<VirtualHost *:80>
ServerName blog.abc.com
DocumentRoot /home/me/apps/abc/wordpress
<Directory "/home/me/apps/abc/wordpress">
Options +Indexes FollowSymLinks
AllowOverride All
Allow from all
Order allow,deny
</Directory>
</VirtualHost>
答案 1 :(得分:3)
如果您希望PHP应用程序是默认应用程序并且仅将Rails用于子目录,则此Apache配置应该适合您:
DocumentRoot "/path/to/your/php/app/html"
ProxyPass /some_resource http://127.0.0.1:3000/some_resource
请注意,您的rails应用程序将在端口3000上运行,您需要安装ProxyPass Apache模块。