所以,我有一个 sinatra 应用程序,我正在使用该应用程序为客户托管几个不同的微型站点。我的 public 和 views 目录的结构是这样的:
sites/
site1/
public/
style.css
views/
layout.haml
general.haml
site2/
public/
style.css
views/
layout.haml
general.haml
现在,当请求进来时,我有以下两行:
set :views, Proc.new { File.join(root, "sites/#{site}/views") }
set :public, Proc.new { File.join(root, "sites/#{site}/public") }
当传入请求进来并且站点被定义为“site1”时,视图会完全按照需要工作,它们会从相应的文件夹中呈现出来。但是,调用“/style.css”路由会返回 404 错误。
当我在应用程序根目录中创建公共目录并将 style.css 放在那里时,它工作正常。但是,我需要这个在逐个站点的基础上工作。我要关闭Sinatra 的官方文档,但它仍然无法正常工作,即使我设置了
enable :static
或者如果我使用
set :static, true
如文档中所述。有任何想法吗?