gpt4 book ai didi

ruby-on-rails - 如何使用子目录而不是子域?

转载 作者:行者123 更新时间:2023-12-03 11:56:21 25 4
gpt4 key购买 nike

我正在构建一个将在domain.com上的Heroku上托管的Rails应用程序。而且我想将WordPress用于phpfog上托管的博客,但我不想使用诸如blog.domain.com之类的子域。我宁愿使用像domain.com/blog这样的子目录

它与SEO无关...我只是不喜欢子域。子目录更性感(是的...我实际上是这么说的)。

关于如何可靠地做到这一点的任何想法吗?先谢谢您的帮助。

最佳答案

您可以使用neezer发现的rack-reverse-proxy gem执行此操作。首先,您需要将gem "rack-reverse-proxy", :require => "rack/reverse_proxy"添加到您的Gemfile并运行bundle install。接下来,您将修改config.ru以将/blog/路由转发到所需的博客:

require ::File.expand_path('../config/environment',  __FILE__)

use Rack::ReverseProxy do
reverse_proxy /^\/blog(\/.*)$/, 'http://notch.tumblr.com$1', opts={:preserve_host => true}
end

run YourAppName::Application

您可能已经有了第一个require语句和 run YourAppName...语句。有几个重要的细节使这项工作。

首先,添加所需的博客URL时,不能在其后加上斜杠。如果这样做,则当有人请求 http://yourdomain.com/blog/时,gem会将其转发给 http://you.yourbloghost.com//,并加上一个额外的斜杠。

其次,如果未启用 :preserve_host选项,则您的博客托管服务器将请求视为对 http://yourdomain.com/blog/的请求,而不是对 http://you.yourbloghost.com的请求,并将返回不良结果。

如果博客使用 /absolute/paths/to/images/,则CSS或图像可能仍然存在问题。

关于ruby-on-rails - 如何使用子目录而不是子域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6179398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com