使用 .htaccess 将 subdomain1.example.com 转发到 subdomain2.example2.com

使用 .htaccess 将 subdomain1.example.com 转发到 subdomain2.example2.com

我的目标

我的主要网站由第三方服务器(准确地说是 Netfirms)托管。我希望将大部分内容托管在那里。但是,我在本地服务器上运行员工门户。该门户依赖于 Netfirms 不支持的 Python 脚本。可以使用 DDNS URL(localserver.dyndns.com例如)访问本地服务器。我已经在我的 Web 服务器主机上设置了一个子域(portal.example.com例如)。

当员工浏览时portal.example.com,我希望从 提供内容localserver.dyndns.com。虽然 Netfirms 允许我创建重定向,但他们的系统只会在框架集中生成一个index.hml带有目标 URL ( localserver.dyndns.com) 的 URL。这当然会破坏网站的响应能力。

我尝试过的方法

最简单的不依赖于框架的解决方案是创建一个.htaccess包含以下内容的文件:

Redirect /index.html http://localserver.dyndns.com

虽然这确实会将流量重定向到localserver.dyndns.com,但 URL 会发生变化,因此员工会发现他们不再位于portal.example.com。我尝试了几种不同的重写条件/规则,但均未成功。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^portal.example.com$
RewriteRule ^(.*)$ http://localserver.dyndns.com/$1 [L,R=301]

或者

RewriteEngine On
RewriteRule ^portal.example.com$ http://localserver.dydns.com/$1

我甚至尝试过使用(不使用)引号和/或前导\“特殊”字符(例如\:\/\.),变化似乎无穷无尽。我要么得到500 - Internal Server ErrorAccess Restricted401 - Not Found

似乎什么都没起作用。我遗漏了什么或者做错了什么?

答案1

localserver.dyndns.com如果您仅提供来自 下的内容portal.example.com,并且想要用作portal.example.comURL,则无需重定向。

为 portal.example.com 创建 DNS 记录,作为 CNAME,值为localserver.dyndns.com

它将指向portal.domain.com的当前 IP localserver.dyndns.com,并且不会重写 URL。

相关内容