屏蔽来自一个服务器上的子域的域,以从另一个服务器获取为完整域

时间:2015-02-18 01:35:00

标签: apache .htaccess server hosts

假设我正在为www.example.org工作,他们已经有了一个实时网站,所以我们正在开发example.mycopmany.com作为测试人员。

mycopmany.com在服务器B上,而我们的客户端生产服务器是服务器A.

我想要设置的是一个环境,它阻止我们在我们上线时将文件从example.mycompany.com(服务器B)传输到服务器A.

我尝试了什么:

在服务器A上,我以正常方式为www.example.org设置了环境 - 没什么大不了的,在WHM下创建了新帐户。

在服务器B上,我编辑了hosts文件(假设我的服务器A的IP是199.198.197.196)

199.198.197.196 www.example.org

在example.mycompany.com子域的html root下,我设置了一个看起来像这样的.htaccess文件。

RewriteEngine On
RewriteRule ^(.*) http://www.example.org/$1 [L,P]

因此,对example.mycompany.com/ [request]的任何请求都将从www.xyz.com/[request]加载内容。

意图是服务器B将被欺骗以认为example.org位于IP 199.198.197.196(服务器A)并且调用该服务器以获取www.example.org的内容,服务器A将很乐意响应有一个帐户设置,因此www.example.org的DNS区域设置就在那里。

我之前实际上已经使用过这个域名,并且出于某种原因,这次它不起作用。

我已经多次刷新两台服务器的DNS缓存...

1 个答案:

答案 0 :(得分:0)

没关系。最愚蠢的问题,修好了..

在接收服务器A上,在exmaple.org下,我在.htaccess中有一行来自先前的项目,该项目强制在最后添加一个/。我在这些日子里有这种方式,所以example.org/mypage会聚合到example.org/mypage/以获取Facebook数量等原因,但现在我们只使用Canonical URL ...旧文物困扰着我!

我从服务器A的example.org根文件夹中删除了这些行,并且像魅力一样工作。

RewriteCond %{REQUEST_URI} !(/$|\.) 
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L,NE]