Apache2:从另一个 IP 地址提供页面

Apache2:从另一个 IP 地址提供页面

请耐心听我解释一些我想执行的 htaccess 操作。

我有这个域名:eamorr.somesite.com,位于 192.168.100.100。

public_html按预期提供来自我的文件夹的页面。

现在,我想使用以下地址:

www.somesite.com/eamorr

我无法控制www.somesite.com(192.168.99.99),但我的系统管理员允许我将.htaccess文件放入该文件夹中。出于我不知道的原因,eamorr在任何情况下我都不允许将任何其他内容放入该文件夹中。eamorr

我想要发生的事情是这样的:

用户导航至www.somesite.com/eamorr/some_page.php

用户信息来自some_page.phpeamorr.somesite.com/some_page.php即 192.168.100.100/some_page.php)。

我希望这个过程尽可能无缝——例如,当用户导航到http://www.somesite.com/eamorr/some_page.php他们获得了 some_page.php 服务,却没有意识到 some_page 来自不同的服务器(192.168.100.100)

http://www.somesite.com/eamorr应始终位于用户浏览器的地址栏中,而不是http://eamorr.somesite.com——我的老板“就是想要这样”……

可以使用吗.htaccess

答案1

听起来你想要的是所谓的“反向代理”,这是 Apache 的工作mod_proxy。但是,您无法在文件中进行设置.htaccess——必须在不同的上下文中进行设置。也许这里有人知道得更多,但我认为.htaccess仅使用单个文件无法实现您的要求。

答案2

使用 Apachemod_proxy指向另一台服务器。Apache 文档这里

效果很好:

ProxyPass /blog http://blog.example.com/
ProxyPassReverse /blog http://blog.example.com/

但只有在代理模块正确加载后才会发生这种情况:

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_html_module /usr/lib/apache2/modules/mod_proxy_html.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so

笔记

  • 由于 CloudFlare,我还必须从不同的主机名托管博客,而不是*.example.com
  • Disallow: /在我的 中添加了blog.example.com/robots.txt。这样搜索引擎就不会在两个位置开始索引。搜索引擎只会忽略blog/robots.txt

相关内容