基于url路径重定向到不同的服务器

use*_*605 6 php apache url redirect path

我为一个内部网已集成到旧网站的客户创建了一个新网站.

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

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

abc.com - new website loads on new server

abc.com/intranet - old website loads on older server
Run Code Online (Sandbox Code Playgroud)

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

Jak*_*uld 2

您需要使用RewriteRulemod_rewrite 来使用Apache 。可以将其放置在.htaccess服务器\xe2\x80\x99s 根目录下的文件中,也可以直接将其放置在 Apache 配置文件中。

\n\n

如果您想重定向example.com到,那么这就是可以满足您需求的example.com/intranetApache :RewriteRule

\n\n
RewriteEngine on\nRewriteRule ^(.*)$ /intranet [L,R=301]\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
RewriteEngine on\nRewriteRule ^(.*)$ http://example.com/intranet [L,R=301]\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
RewriteEngine on\nRewriteRule ^/intranet(.*)$ http://old_example.com/intranet [L,R=301]\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

另一个编辑:由于原始海报表明服务器将完全更改 IP,因此旧服务器的子域是最好的方法。如果您将域完全切换到不同的 IP,您可以\xe2\x80\x99t 按照您描述的方式重定向一个域上的内容。两台服务器都需要使用活动的\xe2\x80\x94但不同的\xe2\x80\x94域名来实现您想要的效果。

\n