网址重写规则在Azure Web应用中不起作用

时间:2018-07-05 18:02:37

标签: azure url-rewriting sitecore url-rewrite-module

我在Azure中托管了一个Sitecore 8应用程序。我有几个指向同一应用程序的域子域,但已被弃用,需要重定向到主站点。我的主要网站是www.mysite.com。对于每个子域,我都有单独的终结点,例如www.mysite-nl.com,终结点主机名为mysite-prod-01-cd-nl.azureedge.net。我的web.config中有以下重写,但未重定向:

     <rule name="nl redirect" stopProcessing="true">
      <match url="(.*)" />
      <action type="Redirect" url="http:// www.mysite.com" redirectType="Permanent"/>
      <conditions>
        <add input="{HTTP_HOST}" pattern="^(www\.)?mysite-prod-01-cd-nl.azureedge.net$" />
      </conditions>
    </rule>

1 个答案:

答案 0 :(得分:0)

它不起作用,因为您将<action><conditions>混合了。一般来说:

  • 条件 –可选条件集合用于指定URL字符串与规则模式匹配时要执行的其他逻辑操作。在这些条件下,您可以检查HTTP标头或服务器变量的某些值,或验证请求的URL是否对应于物理文件系统上的文件或目录。
  • 动作 –该动作用于指定如果URL字符串与规则模式匹配并且所有规则条件都满足的情况下要执行的操作。

所以您的操作应该这样重定向您:

<action type="Redirect" url="mysite-prod-01-cd-nl.azureedge.net" redirectType="Permanent"/>

更多信息在这里:URL Rewrite Module Configuration Reference