10

假设我想要一个名为- http://www.foo.com/news/的子​​文件夹,但我实际上希望该新闻文件夹位于不同的服务器上。我意识到它可以通过子域轻松完成,但我真的希望子文件夹的事情。

可能吗?如何?

4

5 回答 5

7

唯一真正的方法是在您和外部世界之间使用反向代理(或充当反向代理的网络服务器),知道每个文件夹所在的 IP 地址。

不可能只做某事,例如 google.com 出现在http://foobar.com/google/因为浏览器不会路由到 IP 地址(缺少信息)。

您可以使用整页 IFrame 或其他框架集系统来伪造该效果,但这相当狡猾。

如果您使用的是 apache,则可以使用 mod_proxy 进行设置。更多详情可在这找到:

于 2008-09-18T17:50:46.793 回答
3

对于 Apache,需要 httpd.conf 中的以下条目:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyPass /news http://newsserver.domain.com/news
ProxyPassreverse / http://newsserver.domain.com/

于 2008-09-18T18:24:19.133 回答
1

它不能用 DNS 完成,因为域名只是地址的 *.example.com。

这可以通过在您的 www 机器上配置代理来将所有对 /news 的请求传递到另一台服务器来完成。使用 apache 很容易做到,但我现在不记得所有的细节。

于 2008-09-18T17:50:20.167 回答
1

是的,IIS 中有一个设置可让您将子文件夹指向不同的站点。因此,使子文件夹成为您站点上的虚拟目录,然后在虚拟目录的属性中选择“重定向到 URL”的选项...在其中指定您的其他站点。

当然,这是假设您使用的是 IIS。在您使用的任何 Web 服务器中都应该有类似的东西可供使用。

于 2008-09-18T17:44:28.527 回答
0

DNS 解析发生在域级别。DNS 不了解 URL 或文件夹,因此您的名称将始终指向同一服务器。您可以使该服务器实际从另一台服务器检索信息或重定向到另一台服务器,但这并不是很令人满意。

于 2008-09-18T17:49:48.107 回答