简体   繁体   中英

Apache; Phusion Passenger 3 RackBaseURI works only in Production environment for Rails 3

I have a few rails 3 applications which run under their own Rails/Rack BaseURI.

Under Passenger 2 I was using RailsBaseURI to "mount" individual rails apps under a single domain; this worked normally. I upgraded to Passenger 3.0.2 and now when I'm running in development mode my Rails 3 apps want to prepend AND append the baseURI, but only in the development environment. Under production, all is well.

For example:

App lives in /fsroot/otherdir/myapp Target file lives in /fsroot/otherdir/myapp/public/path/to/asset.css

in vhost config: RackBaseURI /myapp

Note:symlink in virtualhost DocumentRoot is named myapp and pointed to /fsroot/otherdir/myapp/public

In a view: stylesheet_link_tag '/path/to/asset.css'

will produce

No such file or directory - Asset file not found at '/fsroot/otherdir/myapp/public/myapp/path/to/asset.css'

Note that the RackBaseURI shows here before and after the public folder.

I tried copying the development.rb environment file over to production.rb and rebooting apache but it does the same thing. There is apparently some other directive which is being assumed in each of these environments but I have no idea what it would be. I tried using RailsBaseURI and RackBaseURI but both behaved identically.

Rails 3 Wizard guidance is appreciated.

While I'm not sure, this may help:

replace RailsBaseURI with RackBaseURI if you're using Rails 3 with Passenger 3

source: http://wiki.railsplayground.com/railsplayground/show/How+To+use+Phusion+Passenger

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM