不同主机上的子目录

3
我有一个位于一台服务器上的网站www.example.com。我想在另一台服务器/主机上创建www.example.com/blog。
A)我能做到吗? B)我该如何做?
我已经阅读了一些有关使用Apache的mod_proxy,proxypass和ProxyPassReverse的内容,但是我对Apache或服务器管理不太熟悉,无法确定自己是否正确。或者,是否有其他选项可以实现我想要的功能。
明确一点,我不想要像blog.example.com这样的子域名。我知道如何通过DNS来做到这一点,但我认为DNS对于子目录不是一个选项。
1个回答

4

在我看来,这是不可行的。正如你所说,你需要一种基于代理的解决方案,从博客服务器获取内容并将其提供给用户。

这有一个严重的缺点,即你的博客上的任何流量都必须通过你的主机运行,消耗带宽、资源和流量。

是否可以采用重定向的方法(例如,www.domain.com/blog 通过头部重定向 [在浏览器地址栏中可见] 到 blog.otherhost.com)?

如果不能,请查看mod_proxy 的文档。反向代理的基本示例已经很好了:

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass /foo http://foo.example.com/bar
ProxyPassReverse /foo http://foo.example.com/bar 

+1 但我认为这可能是一个严重的缺点,具体取决于所涉及的内容和可用资源。 - David Z
@David 真的,这取决于上下文。 - Pekka
当以上操作完成后,这是否意味着内容必须被服务两次,一次由外部服务器,再一次通过主服务器传递到浏览器?或者说外部服务器仍然做大部分工作,而主服务器只是在没有太多工作的情况下通过。我想我试图理解这个可能是可以的上下文(根据David的说法)或这可能是不可行的上下文(根据Pekka的说法)。例如,一个典型的高流量博客。顺便说一句,我还应该澄清使用子目录而不是子域的主要原因—保持相同域名的SEO结果。 - Joe Fletcher
@Joe 外部服务器将执行主要的处理工作。主服务器只是通过传递数据来完成任务。如果没有流量限制问题,那么这样做可能没问题。但如果考虑到 SEO 原因,我会考虑使用 302 重定向进行缓慢迁移到新域名 - 你会受到一些影响,但我认为这不必是毁灭性的。运行第二个服务器并通过代理似乎是一种浪费... - Pekka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接