Tyl*_*ler 13 favicon https ruby-on-rails ruby-on-rails-4
/public我的应用程序目录中的开发模式中有一些可以访问的项目:favicon.ico,robots.txt.
我可以在例如开发中查看这些localhost:3000/favicon.ico.但是,当我推进生产时,资产在这些路径上是不可见的.因此,我没有favicon图标,谷歌也无法找到我的robots.txt文件.
我该如何解决这个问题,以便/public通过相关网址访问该目录?
Kir*_*rat 14
在您的添加中添加以下行 app/config/environments/production.rb
config.serve_static_assets = true
Run Code Online (Sandbox Code Playgroud)
这是Rails指南所说的
config.serve_static_assets配置Rails本身以提供静态资产.默认为true,但在生产环境中关闭,因为用于运行应用程序的服务器软件(例如Nginx或Apache)应该为静态资产提供服务.与默认设置不同,在运行时(绝对不推荐!)或使用WEBrick在生产模式下测试应用程序时将此设置为true.否则,您将无法使用页面缓存,并且对公共目录下定期存在的文件的请求将无论如何都会打到您的Rails应用程序.
Sta*_*uro 13
在您的添加中添加以下行 app/config/environments/production.rb
config.public_file_server.enabled = true
Run Code Online (Sandbox Code Playgroud)
config/environments/production.rb 包含这一行:
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
Run Code Online (Sandbox Code Playgroud)
这意味着您可以RAILS_SERVE_STATIC_FILES在启动rails服务器时传入命令行,例如:
RAILS_ENV=production RAILS_SERVE_STATIC_FILES=yes rails s -b 0.0.0.0 -p 3000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19660 次 |
| 最近记录: |