我通过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]
在/php/.htaccess文件中但这不起作用。我仍然得到Rails发现的页面错误。
答案 0 :(得分:5)
我认为您可以在Passenger应用程序的主要Apache配置文件中执行此操作 - 这与此类似
<Directory "/.../myapp/php">
PassengerEnabled off
AllowOverride all
</Directory>
VirtualHost块中的应该可以解决问题(关闭Rails,至少 - 打开PHP取决于你!)。
我的回答是基于ModRails Apache documentation - 有关PassengerEnabled
命令的更多信息,请参阅第5.6节。