我有一个适用于我的本地环境的Rails应用程序。但是当我将它上传到我的ISP时,应用程序没有加载公共目录中的任何资产。因为ISP使用.htaccess重写Rails应用程序,我怀疑这是问题所在,但我在这方面很绿。
在服务器上,我的rails应用程序部署在~/etc/rails_apps/myapp
在我的家庭目录中有一个符号链接www -> etc/rails_apps/myapp/public
symlink不是从etc/rails_apps/myapp/public
加载资产的想法吗?我错过了别的什么吗?
服务器是Mongrel,如果这很重要的话。
如果重要的话,public/stylesheets
和public/javascripts
dirs都有755个权限。
答案 0 :(得分:0)
请指定您正在使用的托管环境,无论其共享主机如Bluehost或Hosmonster还是专用托管服务。
如果您在共享托管环境中托管,那么您的rails根目录应位于/ home / user-name / rails_apps中。由于共享主机提供程序不允许您更改/ etc文件夹的权限。
如果你的railsapps在/ home / user-name / rails_apps / yourapp中,那么在创建的符号链接chmod 777中,对创建的symobilic文件夹的权限将是你在public_html文件夹中的域名。
ln -s~ / rails / your-rails-app-name / public your-domain-name-without-extension
示例:ln -s~ / rails / your-rails-app-name / public stackoverflow
$ chmod 777 / public_html / stackoverflow
希望这有帮助!