41

我想将我的一些其他域定向到我在 Windows Azure 网站上托管的主域。

(为了那些发现使用 CNAME 和 DNS 有点“模糊”的人(就像我所做的那样),我将布置细节。)

我有www.myDomain.com正确解析域。

我现在想指出www.myOtherDomain.com to www.myDomain.com

在我的注册商处,我创建了一个 CNAME 指向
www.myOtherDomain.com to myInternalAzureSite.azurewebsite.net
,然后在 Azure 网站域管理器工具中成功配置它。

现在,当我进入www.myOtherDomain.com浏览器时,我得到了正确的网页www.myDomain.com,但是,浏览器中的地址仍然www.myOtherDomain.comwww.myDomain.com理想。

我了解实现此目的的两种最理想的方法是:

  1. 转发myOtherDomain.com(在某些注册商处花费 $)
  2. 做一个 301 永久重定向

如果我所有这些都正确,我发现了很多关于如何进行 301 重定向的建议,但是,我似乎无法弄清楚在哪里实际放置重定向?

4

4 回答 4

68

Windows Azure 网站运行 IIS。您可以使用 URL 重写来创建规则以将一个 URL 重写为另一个。

指示:

  1. 在 Windows Azure 中创建一个网站。

  2. 在缩放部分中,选择共享或标准网站模式并保存更改。

  3. 在配置部分的域名组中,添加旧域名(或多个名称)和新域名并保存更改。

  4. 在旧域和新域的域注册商或 DNS 提供商中,更改 DNS 记录以指向新的 Windows Azure 网站。使用“CNAME(别名)”记录并将其指向 Windows Azure 上的网站域,例如:“mywebsite.azurewebsites.net”。

  5. 将新网站的内容上传到 Windows Azure。

  6. 在新网站的根目录中,创建一个名为的文件Web.config,其内容如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="Redirect old-domain to new-domain" stopProcessing="true">
                        <match url=".*" />
                        <conditions>
                            <add input="{HTTP_HOST}" pattern="^www.old-domain.com$" />
                        </conditions>
                        <action type="Redirect" url="http://www.new-domain.com/{R:0}" redirectType="Permanent" />
                    </rule>              
                </rules>
            </rewrite>
        </system.webServer>
    </configuration>
    
  7. 验证对“ http://www.old-domain.com/path?query ”的任何请求都将收到“301 Moved Permanently”响应,其中包含“ http://www.new-domain.com/path的 Location 标头?查询“。

有关文档,请参阅使用 URL 重写模块

有关示例,请参阅使用 IIS Url Rewrite ModuleIIS URL Rewrite 重新命名后重定向到新域 - 将多个域名重定向到一个

于 2013-08-01T22:11:01.597 回答
8

无需上传 web.config 文件,因为您可以通过 Azure 界面访问该文件。

打开应用服务的设置窗格,然后单击左侧菜单底部的开发工具部分中的应用服务编辑器(预览)。

单击转到以在新选项卡中打开编辑器。您将在左侧看到 web.config 文件。单击它以在主窗格中进行编辑。

一个警告词 - 此编辑器会在您键入时自动保存!我相信无论如何我们都会这样做,但我建议您在编辑器中准备代码并将其粘贴进去。

我能够添加一个部分,而无需手动重新启动应用服务。

于 2018-06-07T16:32:21.550 回答
5

您还可以通过将此代码放在节点web.config下的文件中来进行重定向:configuration

<configuration>
  <location path="oldpage1.php">
    <system.webServer>
      <httpRedirect enabled="true" destination="http://domain.com/newpage1" httpResponseStatus="Permanent" />
    </system.webServer>
  </location>
  <location path="oldpage2.php">
    <system.webServer>
      <httpRedirect enabled="true" destination="http://domain.com/newpage2" httpResponseStatus="Permanent" />
    </system.webServer>
  </location>
</configuration>
于 2015-04-25T18:04:21.753 回答
-2

我采用了一种更简单的方法,只是通过“自定义域”菜单将额外的必需域添加到 Azure 应用服务 - 根据下面的屏幕截图。根本不需要接触主要网站的 web.config 文件。不需要任何明确的 301 重定向。在自定义域页面中,只需分配域,通过上传您的 HTTPS 证书添加 SSL 绑定 - 点击网站!在此处输入图像描述

于 2020-01-16T19:20:55.723 回答