我想要使用子目录在多个服务器上托pipe多个Rails应用程序。 并遇到一些相对path问题。
我已经做了一个符号链接到应用程序的公共目录,并将其放置在/ var / www / html目录中,
var/www/html/ /test_app (symbolic link to the public folder of test_app)
并设置为Apache
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.12/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.12 PassengerRuby /usr/local/bin/ruby <VirtualHost *:80> ServerName test.com DocumentRoot /var/www/html Options Indexes FollowSymLinks -MultiViews RailsBaseURI /test_app </Location> </VirtualHost>
应用程序本身的链接工作正常,所有链接都承认test_app /目录并且工作,但是,在显示视图中的公用目录中的图像时,相对path出错。
说我有
/system/files/1/aaa.png
它正在寻找它
/var/www/html/system/files/1/aaa.png
而不是
/var/www/html/test_app/system/files/1/aaa.png
据我了解,这是一个Apache的设置问题,而不是在Rails中完成,如果可能的话,我宁愿将它包含在Apache的conf文件中,而不必更改代码。
你需要RackBaseURI而不是RailsBaseURI> = 3.0