【问题标题】:Linking Rails App and Wordpress Blog on different hosts在不同主机上链接 Rails 应用程序和 Wordpress 博客
【发布时间】:2013-08-03 06:56:46
【问题描述】:

我在 VPS 上设置了我的 Rails 应用程序,并在 GoDaddy 上设置了 WordPress 博客。我这样做是因为我不想在我的 VPS 上安装 PHP。此外,我的 rails 应用程序正在使用 Postgres,虽然我知道 WordPress 可以设置为使用 Postgres,但我只是不想经历麻烦。

如何链接博客和我的 rails 应用程序,使博客位于:

www.mysite.com/blog

此外,在博客内部导航时,基本 URL 应保持为 www.mysite.com/blog

例如:

www.mysite.com/blog/article1

www.mysite.com/blog/category

等等……

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 wordpress


    【解决方案1】:

    假设您的 Rails 站点在前面运行 Apache,您可以将以下内容放入 Rails 站点的 VirtualHost 部分:

    <Location /blog>
      ProxyPass http://godaddy.com/yourwordpress-site/
    </Location>
    

    在 Nginx 中它看起来像这样

    location /blog {
      proxy_pass http://godaddy.com/yourwordpress-site;
    }
    

    当然,我会建议您在代理设置中添加更多选项,以便保留原始请求者的 IP 地址等。这样做,Web 服务器已经捕获了请求,甚至不会打扰您Rails 应用程序包含它并不真正了解的请求。

    【讨论】:

    • 更简单的解决方案是为 GoDaddy 站点添加一个 DNS 条目。但还有更多需要考虑。
    • 添加 DNS 条目对 @pratski 的需求有何帮助?请阅读问题。
    • 你是对的,我误读了这个问题。虽然我不确定 proxy_pass 解决方案是否合适,但在考虑更多之前,我没有更好的办法。
    • 在这里有ProxyPass,您可以隐藏您有一个 GoDaddy 博客,并且所有内容都通过您的域进行,便于查看谁访问了什么等。
    • Rails 站点的 VirtualHost 部分到底是什么?
    【解决方案2】:

    正确重定向,但不隐藏wordpress站点的url

    在您的 rails 应用的 routes.rb 中

    match "/blog" => redirect("http://YOUR_WORDPRESS_BLOG_SITE_URL")
    

    确保您没有忘记在重定向网址中添加 http/https

    【讨论】:

    • OP 明确表示他希望他的博客使用相同的域名
    • 这将正确重定向,但不会隐藏 wordpress 站点的 url。
    【解决方案3】:

    另一种选择是使用子域(而不是子文件夹),例如 blog.mysite.com,然后可以使用简单的 dns 进行处理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 2012-10-18
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 2018-10-14
      • 2011-06-03
      相关资源
      最近更新 更多