IIS web.config 使用特定路径将页面从一个域重定向到另一个域

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

我试图弄清楚使用 web.config 重写规则在 IIS 7.5 服务器上是否可以实现以下操作。我们正在将页面从一个域移动到另一个域。这是配置。

旧域名页面/路径示例:

https://www.olddomain.com/oldpath/news/2023/10/16/article-name/

新域名页面/路径示例:

https://www.newdomain.com/newpath/news/2023/10/16/article-name/

域/路径之间的区别在于域本身和第一级路径名。第一级路径名称后面的所有其他内容都保留该名称。

所以基本上重写规则会寻找特定的路径结构 /oldpath/news/dateyear/datemonth/dateday/article-name/ 并通过 301 重定向转发到 newdomain.com/newpath/news/dateyear/datemonth/dateday/article-姓名/。请注意,二级路径名在域“/news/”之间保持相同。

重定向将适用于以下示例:

重定向需要是特定于路径的“/oldpath/news/”,并且不适用于存在于未定义路径中的页面。例如:/关于/、/联系/等

其他条件:

日期文件夹不需要重定向,但如果这样做也没关系。例如:

请并谢谢你。

regex redirect iis path url-rewrite-module
1个回答
0
投票

根据您的描述,我编写了以下重写规则并进行了测试。这对我来说是工作。我希望它也能帮助你。请尝试以下规则:

<rewrite>
  <rules>
    <rule name="Redirect to New Domain and Path" stopProcessing="true">
      <match url="^oldpath/news/(\d{4}/\d{2}/\d{2}/.*)$" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^www\.olddomain\.com$" />
      </conditions>
      <action type="Redirect" url="https://www.newdomain.com/newpath/news/{R:1}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>
© www.soinside.com 2019 - 2024. All rights reserved.