7

我为一个将 Intranet 集成到旧网站中的客户创建了一个新网站。

新网站目前在不同的服务器上,但是当域 A 记录指向新服务器时,旧站点(和 Intranet)显然将无法访问,但我需要保持其 Intranet 处于活动状态。他们的 Intranet 的路径是:abc.com/intranet

有没有办法让 URL 路径直接指向旧服务器?例如:

abc.com - new website loads on new server

abc.com/intranet - old website loads on older server

如果不可能,我想我正在考虑abc.com为 Intranet 创建一个子域。任何想法表示赞赏。

4

2 回答 2

2

您需要使用 ApacheRewriteRule使用mod_rewrite。这可以放在.htaccess服务器根目录的文件中,也可以直接放在 Apache 配置文件中。

如果您想重定向example.comexample.com/intranet,那么这就是RewriteRule应该满足您需求的 Apache:

RewriteEngine on
RewriteRule ^(.*)$ /intranet [L,R=301]

这将抓取该站点上的任何 URLRewriteRule并将它们重定向到/intranet. 这/intranet也可以是完整的 URL,例如下面的示例:

RewriteEngine on
RewriteRule ^(.*)$ http://example.com/intranet [L,R=301]

编辑:重读您的问题后,我不能 100% 确定上述答案是否适合您。所以我认为,如果您正在描述如何将一个 URL 路径从一台服务器指向另一台服务器,您会这样做。这被放置在新服务器上:

RewriteEngine on
RewriteRule ^/intranet(.*)$ http://old_example.com/intranet [L,R=301]

这将抓取任何来自的 URLnew_example.com/intranet并将其重定向到old_example.com/intranet.

另一个编辑:由于原始海报表明服务器将完全更改 IP,因此旧服务器的子域是最好的方法。如果您将域完全切换到不同的 IP,则无法按照您描述的方式重定向一个域上的内容。两台服务器都需要使用一个活跃但不同的域名来激活您想要发生的事情。

于 2013-11-14T15:08:14.317 回答
1

abc.com/intranet 是您的 Web 服务器公开的虚拟文件系统中的路径,因此无法提供来自不同 Web 服务器的内容。您在这里有 2 个选项。

  1. 在两台服务器前放置一个反向代理,根据原始客户端请求从服务器A或B获取内容。

  2. 如您所说,创建一个子域并将 /intranet 重定向到新的子域。

希望这有帮助!

于 2013-11-14T15:18:01.183 回答