【问题标题】:How do you mask one subdomain to be a directory within another domain, such as rewriting the URL to be that of another domain?您如何将一个子域屏蔽为另一个域中的目录,例如将 URL 重写为另一个域的 URL?
【发布时间】:2011-02-28 23:09:01
【问题描述】:

我想在 Engineyard 网站 site.com 上为我的 Ruby on Rails 建立一个 Wordpress 博客。我过去的做法是将 blog.site.com 转到不同的服务器来托管它,因此 Ruby 和 PHP 永远不会相遇。但是,对于我的新站点,我希望将 Wordpress 博客作为子目录,所以它就像 site.com/blog —— 是的,一个带有 PHP /blog 子目录的 ruby​​ 站点。

如果我们在单独的服务器上执行此操作(因为 EY 是 Ruby,他们建议为 Wordpress 博客使用单独的服务器),有没有办法拥有一个单独的服务器 (blog.site.com),然后隐形重写网址是 site.com/blog ?

感谢您的帮助!!!

【问题讨论】:

    标签: php ruby apache wordpress


    【解决方案1】:

    如果您使用带有 Phusion 和 mod_php 的单个 Apache 服务器,您可以通过在访问虚拟主机之前将请求从 example.com/blog/* 重写到 blog.example.com/* 来实现。在您的 VHosts 中,您将 example.com 定义为您的 Rails 应用程序,并将 blog.example.com 定义为您的 Wordpress 应用程序。

    您无法在没有 PHP 和 Ruby 的环境中执行此操作(废话),并且跨服务器执行此操作会限制您代理每个请求或仅重定向。

    【讨论】:

      【解决方案2】:

      不是真的。 site.com 是一台服务器,blog.site.com 是另一台服务器。当您在 site.com/blog 时,您仍然在第一台服务器上。浏览器根本不会尝试连接到另一台服务器来请求我们在第一台服务器上寻找的文件。这就是 URL 背后的想法。

      您可以做的一个不错的技巧是创建带有框架的 site.com/blog/index.html 并在其中一个框架中加载 blog.site.com。

      【讨论】:

      • 不要教他做坏事。我们有很多很好的技术来防止使用框架进行任何类型的黑客攻击,尤其是可以通过服务器配置解决的技术。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 1970-01-01
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      • 2020-03-26
      相关资源
      最近更新 更多