gpt4 book ai didi

ruby-on-rails - 为什么 Rails 应用程序显示/公共(public)索引列表而不是实际应用程序?

转载 作者:行者123 更新时间:2023-12-01 10:05:57 26 4
gpt4 key购买 nike

如何设置 apache 以在服务器上显示 Rails 应用程序?我的 Rails 应用程序在本地主机上运行完美,但是当我转到外部站点时,它会给我索引信息

像这样

Name    Last modified   Size    Description
[TXT] 404.html 21-May-2012 21:38 728
[TXT] 422.html 21-May-2012 21:38 711
[TXT] 500.html 21-May-2012 21:38 643
[IMG] favicon.ico 21-May-2012 21:38 0
[TXT] robots.txt 21-May-2012 21:38 204

这是我的虚拟主机信息

<VirtualHost *:80>
ServerAdmin example@example.com
ServerName server.example.com
# ServerAlias
DocumentRoot /var/www/sample_app/current/public
ErrorLog /var/www/sample_app/error.log

RailsEnv production
<Directory "/var/www/sample_app/current/public">
Options Indexes FollowSymLinks MultiViews
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

最佳答案

好吧,可能不是,但这就是Passenger's documentation建议:

<VirtualHost *:80>
ServerName www.mycook.com
DocumentRoot /webapps/mycook/public
<Directory /webapps/mycook/public>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>

明确指出 MultiViews 与 Passenger 兼容。

所以你可以试试:

  • 删除索引选项
  • 指定 -MultiViews 而不是 MultiViews

老实说,我已经尝试将索引添加到我的生产应用程序中,因为我认为可能只是这个选项导致了问题,但它并没有改变任何东西......所以它有点“大胆猜测”它可能会解决你这边的问题。

更新来自 another answer ,您可以尝试添加 PassengerResolveSymlinksInDocumentRoot 选项:

<VirtualHost *:80>
ServerName www.mycook.com
DocumentRoot /webapps/mycook/public
<Directory /webapps/mycook/public>
Allow from all
Options -MultiViews
PassengerResolveSymlinksInDocumentRoot on
</Directory>
</VirtualHost>

关于ruby-on-rails - 为什么 Rails 应用程序显示/公共(public)索引列表而不是实际应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10693403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com