1 个域、2 个服务器和 2 个应用程序

1 个域、2 个服务器和 2 个应用程序

我在服务器一上有一个类似 twitter.com 的网站,在服务器二上我有一个论坛,其路径类似 domain.com/forum。

在服务器一上,我想为域实现通配符 DNS,但在服务器二上,我想将论坛分开。我无法提供子域名 forum.domain.com,因为其所有链接都已在搜索引擎中,并链接回 domain.com/forum。

所以,我想知道,如何将域和通配符 DNS 放在服务器一上,并且仍然能够在服务器二上为 domain.com/forum 提供路径(作为子文件夹)。

有任何想法吗?

您认为 htaccess 可以完成这项工作吗?如果可以,那么如何完成呢?

答案1

通配符 DNS 不是最好的主意。无论如何 - 在服务器上,你可以设置反向代理 - 使用阿帕奇nginx或者别的。您可以将一些请求(基于 url )路由到本地应用程序服务器,并将一些请求路由到远程机器。

答案2

你的问题不太清楚。你从来没有解释过为什么需要通配符域名。

如果您想设置 forum.domain.com 或 forum.twitter.com,不确定您的目标是什么,但如果是这种情况并且您担心搜索引擎中的链接,那么为什么不直接在 htaccess 中使用 301 重定向?(在提交 301 之前,先以 302 重定向进行测试)。

首次测试:

RewriteRule ^/forum/(.*) http://forum.domain.com/$1 [R=302,L]

如果可行,则将您的论坛移动到 forum.domain.com 网站的根目录,并将重写更改为:

RewriteRule ^/forum/(.*) http://forum.domain.com/$1 [R=301,L]

答案3

应该可以使用重定向,将这一行添加到 VirtualHost 规范中:

重定向/forum http://forum.domain.com/forum

或者,执行反向代理:添加内容类似于以下内容的conf.d文件:forum

ProxyPass /forum http://forum.domain.com/forum
 ProxyPassReverse /forum http://forum.domain.com/forum
 <位置 /论坛>
 </位置>

并添加

<代理 *>
   添加默认字符集关闭
   命令拒绝、允许
   允许所有人
 </代理>

mods-enabled/proxy.conf

相关内容