ruby-on-rails - apache 显示我的公共(public)目录的内容 - Rails + apache + Passenger + 本地 git + capistrano + ubuntu

标签 ruby-on-rails apache passenger capistrano

我最近决定在生产实验环境中实现我的 RoR 项目。 我遇到的问题是当尝试查看我的主应用程序页面时,apache 会显示公共(public)目录的内容。

重要说明:

  1. 我已经从公共(public)目录中删除了index.html文件(之前,apache会显示rails欢迎页面)
  2. 我的route.rb中有一个 map 根路线 - 它曾经在我的开发环境中完美工作。

    map.root :controller => 'home'

  3. 我正在使用由 capistrano 部署自动创建的虚拟主机文件 /etc/apache2/sites-available/appname

    其内容:

    名称虚拟主机特定.ip.地址:80

    服务器名称特定.ip.地址

    文档根目录/var/www/appname/current/public

开发环境(一切正常):

使用默认的 mongrel 配置在我的 macbook pro 上安装了 Ruby 和 Rails

实验生产环境(我遇到问题的地方):

  1. Ubuntu 9.04 32 位
  2. Rails、Ruby、Apache、git(本地)、passenger 和 capistrano 已按照以下说明进行安装和配置: http://hackd.thrivesmarthq.com/how-to-setup-a-linux-server-for-ruby-on-rails-with-github-and-phusion-passenger

  3. 所有步骤都很顺利,包括 capistrano 部署,它成功地将我的应用程序部署在: /var/www/appname/current/

  4. 如上所述,当尝试查看我的主应用程序页面时 - apache 会显示我的公共(public)目录的内容(即使我没有 index.html 并且我有一个在 dev 中工作的 map 根路径) )

问候, 杰森

最佳答案

添加

Options -Indexes 

到虚拟主机中的目录配置设置。要么在

<Directory />
    Options -Indexes 
</Directory>

或在您的文档根目录中

<Directory /var/www/appname/current/public>
    Options -Indexes 
</Directory>

关于ruby-on-rails - apache 显示我的公共(public)目录的内容 - Rails + apache + Passenger + 本地 git + capistrano + ubuntu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4597693/

相关文章:

ruby-on-rails - 我怎样才能对模型中的长度验证做一个 if else 语句

ruby-on-rails - nginx limit_req 速率限制问题 - 文档说明?

ruby-on-rails - stderr/usr/local/bin/bundle : argument list too long while bundle install

java - Websocket Apache 2.4.x Proxy Tomcat 7.x 打开事件只发生在浏览器端

ruby-on-rails - 将乘客 5.0.23 native 支持与 Ruby 2.2.4 链接失败

ruby-on-rails - 覆盖 Rails 引擎 Controller Action

ruby-on-rails - Rails Assets 管道剥离了插件版权

ruby-on-rails - 在 Ruby on Rails IRB 中停止加载脚本执行的最佳方法

linux - DocumentRoot 文件夹名称中的空格

regex - 为用户友好的 URL 更正 .htaccess 文件