【问题标题】:Sub Directory to a different server子目录到不同的服务器
【发布时间】:2011-05-16 15:04:24
【问题描述】:

是否可以用于域,例如www.myclient.com 在完全不同的(我们的)服务器上托管子目录?

他们不想将 subdomain.myclient.com 指向我们的服务器,因此他们希望将其作为文件夹 www.myclient/subdomain/

提前致谢。

【问题讨论】:

  • 否,除非您准备开始使用 myclient.com 服务器作为代理。它需要访问 Apache 配置,会消耗大量带宽,但应该可以这样做。
  • 甚至没有 .htaccess 规则 RewriteRule magazine/(.*) http://myotherdomain.com/$1 ??
  • @Lizard 会起作用,但它会将用户重定向到新位置,而不仅仅是重写 URL。新位置将显示在浏览器的地址栏中。
  • 那有没有办法保留原网址呢?
  • @Lizard 仅在使用 Apache 作为代理时。但这并不一定那么困难:httpd.apache.org/docs/2.0/mod/mod_proxy.html#proxypass

标签: apache subdomain


【解决方案1】:

正如 cmets 中所讨论的,您唯一的选择是代理。其他所有内容(如 mod_rewrite / Alias)都会进行标头重定向,并将目标地址公开给用户。

不过,Apache's proxying 似乎没有那么复杂。最基本的例子是

ProxyPass /mirror/foo/ http://backend.example.com/

请注意,代理当然会使您的流量翻倍,因为请求的每个字节都必须从远程机器上获取。

【讨论】:

  • 这就像一个魅力,在你的虚拟主机上放置一个位置标签也非常实用
  • 为什么我的主服务器的DNS服务器不能重定向到另一台服务器并充当代理?
  • @Radenko 但是当请求针对特定子目录时,如何告诉 DNS 服务器指向不同的服务器? DNS 服务器甚至看不到完整的请求 URL。
【解决方案2】:

您可以使用两种不同的机制来完成此操作。如果这不是专用服务器,则您使用的内容取决于您的设置以及托管公司对服务器的权限。

第一个选项是使用文件系统映射到第二台服务器,然后使用 mod_alias 将子目录指向映射位置。这需要将两台服务器联网在一起,例如,如果您有一台专用于特定服务器的服务器,但拥有并可以在文件系统级别安全地联网。

另一种选择是将 Apache 设置为代理。这确实需要一些高级编程来配置,但可以设置系统,以便将对指定子文件夹的请求传递到远程 Web 服务器。这可以在远程服务器无法在文件系统级别联网时使用,但可以让您模拟远程子域的工作。

【讨论】:

  • +1 表示存在文件共享连接时可能会出现别名,好主意
【解决方案3】:

您能否使用 Amazon CloudFront,因为它可以将不同的路径映射到不同的服务器?

【讨论】:

  • 这是如何通过云端完成的?我正在尝试这种方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2013-07-21
  • 1970-01-01
  • 1970-01-01
  • 2010-12-23
相关资源
最近更新 更多