Nic*_*ett 3 apache ruby-on-rails
我通过Passenger在我的Apache服务器上运行了一个rails应用程序.
偶尔我会为网站使用一些PHP脚本,并将它们放在公共目录中.
当我去/ php /我希望Apache使用PHP解析器处理请求并让rails忽略它.
目前我可以去/php/index.php,它工作正常.但是我需要/ php /才能正常工作但是rails一直在寻找控制器来处理它.
我有一种感觉这与apache重写规则有关,但我无法弄明白.
我用过
RewriteEngine On
RewriteRule ^php - [L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Run Code Online (Sandbox Code Playgroud)
在/php/.htaccess文件中,但这不起作用.我仍然得到Rails的页面未找到错误.
我认为你可以在你的Passenger应用程序的主要Apache配置文件中执行此操作 - 这与此类似
<Directory "/.../myapp/php">
PassengerEnabled off
AllowOverride all
</Directory>
Run Code Online (Sandbox Code Playgroud)
你的VirtualHost块内应该可以解决问题(关闭Rails,至少 - 打开PHP取决于你!).
我的答案基于ModRails Apache 文档 - 有关该PassengerEnabled命令的更多信息,请参见第5.6节.