繁体   English   中英

尝试设置“屏蔽 URL 重定向”(这可能不是正确的术语)

[英]Trying to set up a "masked URL redirect" (that might not be the correct term)

好的,我想要的是,如果一个人键入 URL“test.MyClientsDomain.net”,他们实际上是 go 到“MyCompanyDomain.com”(但 URL 栏显示“test.MyClientsDomain.net”)。

这是我到目前为止所做的:

  • 我们从 goDaddy 购买了一个 SSL,它允许我们添加多个域,并且两个域都在上面。
  • MyCompanyDomain.com 是我们的主要站点,位于我控制的 Rackspace 的 windows 服务器上,并且按预期工作
  • 我在 NameCheap 注册了 MyClientsDomain.net,DNS 托管在第 3 方(我控制的 plesk 服务器)
  • 我在第 3 方 DNS 添加了一个 CNAME,它将 test.MyClientsDomain.net 指向 MyCompanyDomain.com
  • 我已将“区域”MyClientsDomain.net 添加到 Rackspace 的 DNS,它指向网络服务器的 IP
  • 我在 Rackspace DNS 添加了一个 CNAME,它将 test.MyClientsDomain.net 指向 MyCompanyDomain.com

但它没有按我的意愿工作,你能告诉我我做错了什么吗?

您没有提到在 MyCompanyDomain.com 上使用Name Virtual Hosting ,因此您将结束为与相同 IP 匹配的旧域提供服务。

Name Virtual Hosting允许一个人在同一个 IP 上发布多个应用程序,或者发布一个具有不同域名的完全相同的应用程序(你称之为“掩码”)。 然而,为了使后者完全透明,不应该配置从一个域到另一个域的 301/302 重定向。

查看如何在 IIS 中配置 Configuring SSL Host Headers

根据您的描述,当您在浏览器中输入test.MyClientsDomain.net时,您希望重定向到MyCompanyDomain.com ,但浏览器的 URL 栏仍然显示test.MyClientsDomain.net

在IIS中,要实现这个效果需要使用URL Rewrite模块,为ARR配置代理设置。 如果IIS没有安装ARR模块,可以参考这个链接

当你有两个网站时,网站1的域名绑定MyCompanyDomain.com ,网站2的域名绑定test.MyClientsDomain.net 如果你想实现你的需求,你需要在网站2上创建一个重写规则。下面web.config中的URL重写规则可以给你一个参考:

<rewrite>
            <rules>
                <rule name="test rule in website2" enabled="true">
                    <match url=".*" />
                    <action type="Rewrite" url="http://MyCompanyDomain.com" />
                </rule>
            </rules>
        </rewrite>

此外,您需要在服务器级别的 select Application Request Routing Cache 模块和右侧树节点上的 select “Server Proxy Settings…”,然后勾选“Enable Proxy”并应用。

这时在浏览器中输入test.MyClientsDomain.net ,会看到页面加载了MyCompanyDomain.com网站的内容,URL栏仍然显示test.MyClientsDomain.net

图片1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM