允许从rails“public /”的子目录中列出Apache目录?

时间:2012-01-29 05:48:27

标签: ruby-on-rails apache

我想在我的Rails应用程序的“public /”目录的特定子目录中启用Apache目录列表。为了这个讨论,让我们说它是“公共/列表”

我已设置Apache选项以启用目录列表,但如果我请求类似http://mydomain.com/listme的内容,则会收到404错误,如果我检查Rails日志,则会收到如下错误:

ActionController::RoutingError (No route matches "/listme")

那么:有没有办法在我的Rails应用程序中禁用特定文件夹的路由,并允许Apache的自动目录列表启动?

1 个答案:

答案 0 :(得分:3)

事实证明,这个问题在模型文档中得到了解答。见http://www.modrails.com/documentation/Users%20guide%20Apache.html

总结:

假设您在/ apps / foo中有一个Rails应用程序。假设你已经放弃了Wordpress - 一个用PHP编写的博客应用程序 - 在/ apps / foo / public / wordpress中。然后,您可以按如下方式配置Phusion Passenger:

<VirtualHost *:80>
    ServerName www.foo.com
    DocumentRoot /apps/foo/public
    <Directory /apps/foo/public/wordpress>
        PassengerEnabled off
        AllowOverride all      # <-- Makes Wordpress's .htaccess file work.
    </Directory>
</VirtualHost>