Dynatree无法找到在轨生产资产多的虚拟主机安装Apache(Dynatree unable t

2019-10-18 15:51发布

行为:

Rails应用程序提供了所有资产,除了那些dynatree插件就好了,即我的树木没有文件夹图标,线条等萤火引用资产时报告404错误:

NetworkError: 404 Not Found - http://<production-host>/assets/dynatree/skin/icons-bf773ee37964ed4c51011537fefa5047.gif

我已经验证该资产在该目录中确实存在与预编译的名字。

因为我使用多个虚拟主机,我认为对于资产的URL应该包括应用程序目录名,即:

http://<production-host>/*houston*/assets/dynatree/skin/icons-bf...

(星号我自己的重点。)

我已经打了类似的资产子目录jQueryUI的图像的URL验证。 如果我在URL中包含的应用程序名称,图像被发现就好了。 没有它,我得到的404错误,这是非常合情合理的。

那么,为什么不使用dynatree的完整路径名资产目录? 它只是连接具有/资产的主机名。 我想,在初始时间了jQuery / dynatree代码没有得到正确的主机名。 有任何想法吗?

设定:

多台主机通过Apache /乘客设置:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/webapps
    <Directory /var/webapps>
            AllowOverride None
    </Directory>


    RailsEnv production

    RackBaseURI /houston
    <Directory /var/webapps/houston>
      Options -MultiViews +FollowSymLinks
      Allow from all
    </Directory>

轨道/ Capistrano的:

这是Rails 3.1的应用程序,使用Capistrano的部署和资产获得凭借内置

load 'deploy/assets' (in deploy.rb)

没有更改默认的东西像config.assets.prefix和这样Rails的设置。

Dynatree:

通过dynatree护栏宝石包括在内。 Dynatree否则功能齐全。

文章来源: Dynatree unable to find assets in rails production on multi-virtual host apache install