我的应用程序在Sinatra上运行,并使用Passenger部署在我的Apache Web服务器上。我的目录结构如下:
approot
` public
` css
- bootstrap.css
` uploads
- empty.txt
` tmp
- restart.txt
` views
- success.haml
- upload.haml
- config.ru
- myapp.rb
内置upload.haml
%link(rel="stylesheet" href="css/bootstrap.css")
当我在localhost:4567上运行此应用程序时,CSS加载就好了。但是,当我在我的Web服务器上部署它时,CSS不会加载。
在我的网络服务器上,使用以下代码访问应用程序:rubyapps.mydomain.com/appname
如果我输入:rubyapps.mydomain.com/appname/css/bootstrap.css
,我可以很好地看到CSS文件的内容。
完全困惑,并没有得到Sinatra如何处理这种情况,寻求一些帮助。
答案 0 :(得分:1)
您可能需要使用Sinatra的URL helper。
For generating URLs you should use the url helper method, for instance, in Haml:
%a{:href => url('/foo')} foo
It takes reverse proxies and Rack routers into account, if present.
This method is also aliased to to (see below for an example).
答案 1 :(得分:0)
也许这个?
%link(rel="stylesheet" href="../public/css/bootstrap.css")
或者...
%link(rel="stylesheet" href="/css/bootstrap.css")