【问题标题】:Azure website rewrite ruleAzure 网站重写规则
【发布时间】:2015-08-05 13:18:22
【问题描述】:

我有一个基于 Wordpress 的网站,托管在 Azure 网站中,其自定义域 (www.mydomain.com) 运行良好。

现在我想让另一个域 (www.anotherdomain.com) 响应同一个 Azure 网站。但是 www.anotherdomain.com 是一个旧网站,它的页面在新的或旧的地方都不再可用。

这意味着我需要将任何 URL 从 www.anotherdomain.com 重定向到 www.mydomain.com 的根(主页),而不会出现任何 http 错误消息。

示例:www.anotherdomain.com/products/blablabla.aspx 到 www.mydomain.com

我想我必须在 web.config 上添加一些重写规则,但我不知道如何制作它们。

此外,还有哪些变化(如果有): 1 - 在我的两个域的 DNS 区域 2 - Azure 网站域配置。

谢谢,

伊戈尔

【问题讨论】:

    标签: azure url-rewriting dns azure-web-app-service


    【解决方案1】:

    我认为您需要按照说明 here 将主机名 www.anotherexample.com 分配给托管 www.example.com 的同一个 wordpress 站点。

    之后,您需要向您的网站添加重定向规则,将请求 www.anotherexample.com 重定向到 www.example.com:

    <rewrite>
        <rules>
            <rule name="Redirect host name" patternSyntax="Wildcard" stopProcessing="true">
                <match url="*" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{HTTP_HOST}" pattern="www.anotherexample.com" />
                </conditions>
                <action type="Redirect" url="http://www.example.com/{R:1}" redirectType="Permanent" />
            </rule>
        </rules>
    </rewrite>
    

    【讨论】:

    • 嗨。我怀疑这也是要走的路。我设法在 azure 网站域配置中成功添加 www.anotherdomain.com 添加。现在我有 www.mydomain.com 和 www.anotherdomain.com。 DNS 记录似乎没问题。唯一似乎被破坏的是重定向规则。我已经尝试了其中的一些,包括你建议的那个,但结果是一样的。 1 - www.mydomain.com 上的导航中断(到处都是 404 错误) 2 - 当我导航到 www.anotherdomain.com 3 - 导航到 www.anotherdomain.com/something.php 时重定向工作正常,重定向后出现 404 错误。
    • 相对于 web.config 中的其他规则,您在何处添加了此规则?它应该是 集合中的第一条规则。
    • 你好 RuslanY。我设法让它工作,但我不得不从动作声明中删除 {R:1}。否则,如果我浏览到 www.anotherdomain.com/abc.php,我将被重定向到 www.mydomain.com/abc.php,我只需要 www.mydomain.com。这样做之后,它现在似乎可以工作了。
    • 很高兴您成功了。是的,{R:1} 的目的是在重定向时保留 URL 路径。如果不需要,那么删除它是正确的。
    【解决方案2】:

    如果您的新网站是基于 WordPress 的,那么这对您来说非常容易。只需进入 DNS 管理区域并添加域转发和关闭路径转发条目即可。无需对 Azure 站点设置进行任何更改。

    如果你打开路径转发,即使这样 WordPress 也会处理并且它不会给出任何 http 错误。

    例如,我的网站是http://subhashsingh.com,而从http://study-desk.org,即使您点击了错误的网址,例如http://study-desk.org/12/new,您也可以获得相同的网站。

    【讨论】:

    • 什么样的 DNS 记录类型进行转发?路径转发呢。打开/关闭它是什么意思?
    • 您好,感谢您的考虑。每个域管理面板都有域转发选项。您需要将其设置为将请求转发到其他域。喜欢获得 www.anotherdomain.com 域管理面板(如果您有域权限)并将其设置为
    • 在 www.mydomain.com 上转发并保存您的设置。它根据名称服务器自动更改A记录。
    • 路径转发什么都不是,它只是一种转发类型,如果您启用路径转发,它将使用完整路径转发域,如 www.xyz.com/12/hello.aspx 将转发到 www.abc。在/12/hello.aspx。如果您将其设置为仅转发,它会将 www.xyz.com/12/hello.aspx 转发到 www.abc.in
    • 你好子哈希。据我所知,我可以对我拥有的每个域进行的唯一 DNS 更改是添加/编辑/删除 A、CNAME、TXT、SVR 等域记录。我似乎没有在域管理级别进行路径转发配置。无论哪种方式,我似乎在上一个答案中找到了解决方案。
    猜你喜欢
    • 2015-12-27
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 2015-04-18
    相关资源
    最近更新 更多