我的目标
我的主要网站由第三方服务器(准确地说是 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 Error
、Access Restricted
、401 - Not Found
似乎什么都没起作用。我遗漏了什么或者做错了什么?
答案1
localserver.dyndns.com
如果您仅提供来自 下的内容portal.example.com
,并且想要用作portal.example.com
URL,则无需重定向。
为 portal.example.com 创建 DNS 记录,作为 CNAME,值为localserver.dyndns.com
。
它将指向portal.domain.com
的当前 IP localserver.dyndns.com
,并且不会重写 URL。