我目前正在网站上以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可能会发疯)
编辑:我还应该提到,我正在将子域用作应用程序的一部分,因此我真的希望拥有类似ourwebsite.com/rails_app的内容。 如果那是唯一的选择,我可以走那条路,但是我不愿意。
如果您希望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模块。
我正在一个项目上,它在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>