gpt4 book ai didi

ruby-on-rails - Apache 不会为 rails 应用程序提供静态 Assets

转载 作者:行者123 更新时间:2023-12-04 08:55:41 26 4
gpt4 key购买 nike

我正在尝试配置我的 apache 服务器以从我的 rails 应用程序提供静态 Assets 。我已经尝试了建议的配置,但我的 Assets 仍然没有显示,当我尝试直接访问它们时,我只是收到一个 rails 错误,没有找到匹配的 Controller ,但我认为 Assets 应该由 apache 直接处理。
我的 apache 配置如下所示:

<VirtualHost *:80>
ServerName xxx
DocumentRoot /home/xxx/test/public
PassengerEnabled off

<LocationMatch "^/assets/.*$">
Header unset ETag
FileETag None
ExpiresActive On
ExpiresDefault "access plus 1 year"
</LocationMatch>
ProxyPass / http://127.0.0.1:9292/
ProxyPassReverse / http://127.0.0.1:9292/
</VirtualHost>

我错过了什么吗?

最佳答案

我用了,

RAILS_ENV=production bundle exec rake assets:precompile

为了使一切正常,我将其添加到 config/application.rb ...
module MyApp
class Application < Rails::Application
.
.
config.assets.precompile += ['custom.css']
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
.
.
end
end

(我已经创建了 custom.css.scss。但是 Rails 不能识别 .scss,正如你在上面看到的。)我假设你的所有 Assets 在预编译后都出现在 public/assets 文件夹中。我不明白你在用 LocationMatch 做什么,请原谅我的无知。此外,我没有使用端口 80。我使用了 8000。不确定这是否有区别。

另外,在 config/environments/production.rb 中有一个设置,
# Disable Rails's static asset server (Apache or nginx will already do this).
config.serve_static_assets = false

关于ruby-on-rails - Apache 不会为 rails 应用程序提供静态 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18430015/

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