如何为 Sitefinity Cloud 设置 URL 重写?

问题描述 投票:0回答:1

我刚刚推出了一个非常大的网站。我们的旧网站上有许多需要指向的资产。

所有资源均为以下格式之一:

asset12345.aspx

assetfactory=1234.aspx

Assets/sub-dir/sub-dir/file_name.pdf(或其他文件类型)

我们已将整个旧站点移至二战地点。我们正在尝试将新网站资产指向旧网站资产。

示例:

www.sitename.com/asset12345.aspx指向ww2.sitename.com/asset12345.aspx

这些是我尝试过的重写,但没有成功:

尝试1:

<rewrite>
  <rules>
    <rule name="Redirect .gov/asset to ww2" stopProcessing="true">
      <match url="^.*\.gov/asset.*$" ignoreCase="true" />
      <action type="Redirect" url=https://ww2.sitename.gov/{R:0} appendQueryString="true" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

尝试2:

<rewrite>
  <rules>
    <rule name="Rewrite Asset URLs" stopProcessing="true">
      <match url="^asset(.*)$" ignoreCase="true" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^www\.sitename\.gov$" />
      </conditions>
      <action type="Redirect" url=https://ww2.sitename.gov/{R:1} redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

两者都不起作用,我越来越绝望。有什么想法吗?

.net asp.net-mvc url-rewriting web-config sitefinity
1个回答
0
投票

在尝试 1 中,您需要有一个小组,例如括号中的内容和与第一组匹配的字符串将位于 {R:1} 所在的位置。如果你有多个组,那么你可以使用{R:2}等

在尝试 2 中,您可以尝试以下操作:

  • 删除此处的转义斜杠:
    <add input="{HTTP_HOST}" pattern="^www.sitename.gov$" />
  • 确保在此处的网址中添加引号:
    <action type="Redirect" url="https://ww2.sitename.gov/{R:1}" redirectType="Permanent" />
© www.soinside.com 2019 - 2024. All rights reserved.