ruby-on-rails - Rails relative_url 不调整链接

标签 ruby-on-rails relative-url

在使用Passenger 尝试失败后(请参阅我的另一个问题),我设法通过子文件夹中的反向代理运行了rails。
我添加了线条

config.relative_url_root = "/App"
config.action_controller.relative_url_root = "/App"

到我的环境。现在我可以在 www.mySite.com/App 下访问我的 rails 项目。问题是链接/路径没有添加前缀“/App”。所以“用户”的链接看起来像www.mySite.com/users而不是 www.mySite.com/App/users .
我怎样才能改变这个?

至少根据 http://edgeguides.rubyonrails.org/configuring.html#deploy-to-a-subdirectory-relative-url-root我做的一切都是正确的。

最佳答案

我通过如下调整我的反向代理和我的 rails 配置让它工作。
这是我对应的 apache 文件:

<VirtualHost *:80>
DocumentRoot /path/to/App/public
ProxyPass /App http://127.0.0.1:9292/App
ProxyPassReverse /App http://127.0.0.1:9292/App
</VirtualHost>

我的 config.ru 看起来像这样:
require ::File.expand_path('../config/environment',  __FILE__)
map '/App' do
  run Rails.application
end

提到的环境变量在/config/environment.rb 中设置。我不确定是否仍然需要它们:
config.relative_url_root = "/App"
config.action_controller.relative_url_root = "/App"
ENV['RAILS_RELATIVE_URL_ROOT']  = "/App"
ENV['ROOT_URL']  = "/App"

关于ruby-on-rails - Rails relative_url 不调整链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27761278/

相关文章:

ruby-on-rails - Rails 路由,:as option also changes the params hash . ..如何覆盖它?

ruby-on-rails - 将类添加到 text_field_tag

html - 如何使用相对 URI 转到子目录

python - 具有相对 url 支持的 nodejs 或 python 代理库

Css 相对 URL 图像未出现

ruby-on-rails - Ruby on Rails has_many 关系

ruby-on-rails - 如何在 Rails 5.0.0 上修复 bundle 安装 "nio4r error"

html - 上面目录的相对链接

java - 在 Java 中从相对 URL 构建绝对 URL

ruby-on-rails - 在 form_for 中选择没有秒、分钟或小时的 Datetime_select