use*_*455 3 apache ruby-on-rails virtualhost
一旦它在服务器上,你如何设置apache来显示rails应用程序?我的rails应用程序在localhost上完美运行,但是当我访问外部站点时,它会为我提供索引信息
像这样
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
Run Code Online (Sandbox Code Playgroud)
这是我的虚拟主机信息
<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>
Run Code Online (Sandbox Code Playgroud)
好吧可能不是,但这是Passenger的文档推荐的内容:
<VirtualHost *:80>
ServerName www.mycook.com
DocumentRoot /webapps/mycook/public
<Directory /webapps/mycook/public>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
明确指出MultiViews 与Passenger 不兼容.
所以你可以尝试:
-MultiViews
而不是MultiViews
说实话,我已经尝试将索引添加到我的生产应用程序中,因为我认为可能只是导致问题的这个选项,但它没有改变任何东西......所以这有点"疯狂猜测" "它可能会解决你的问题.
更新
从另一个答案,您可以尝试添加PassengerResolveSymlinksInDocumentRoot
选项:
<VirtualHost *:80>
ServerName www.mycook.com
DocumentRoot /webapps/mycook/public
<Directory /webapps/mycook/public>
Allow from all
Options -MultiViews
PassengerResolveSymlinksInDocumentRoot on
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2369 次 |
最近记录: |