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



我有一个 Sitecore 8 应用程序托管在 Azure 中。我有几个域子域指向同一个应用程序,但已弃用,需要重定向到主站点。我的主要网站是 www.mysite.com。我为每个子域都有单独的端点,例如端点主机名为 mysite-prod-01-cd-nl.azureedge.net 的 www.mysite-nl.com。我的 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>

它不起作用,因为您<action><conditions>混合了。通常:

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

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

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

更多信息请见:URL 重写模块配置参考。

最新更新