web.config在404错误时重定向到另一个域

时间:2018-02-09 08:09:57

标签: azure redirect web-config http-status-code-404 azure-web-sites

我们正在将旧网站迁移到新网站(Azure上托管的wordpress),但由于某些原因,我们需要在线维护旧网站。假设该网站是: 新网站www.site.com 旧网站www.oldsite.com 这就是我们需要的: 如果用户输入www.site.com/somepath并且这不存在,则必须将其重定向到www.oldsite.com/somepath。

是否可以通过在web.config中设置url重写或将404错误重定向到旧域? 先感谢您, 马可

1 个答案:

答案 0 :(得分:0)

根据您的信息,我假设您在Azure Marketplace中使用WordPress模板( WordPress在Linux上)(在WordPress Web配置期间,系统会要求您选择Azure MySQL或MySQL in App选项)。您可以下载IIS管理器扩展并远程连接到您的站点,然后开始编写规则。您还可以下载web.config文件(通过FTP并自行完成)。以下是web.config https://social.technet.microsoft.com/wiki/contents/articles/32229.azure-create-an-url-rewrite-azure-web-app.aspx

的参考

以下是示例规则

<rewrite>
  <outboundRules>
    <rule name="404redirection">
    <match filterByTags="None" serverVariable="{RESPONSE_STATUS}" pattern="^404" />
      <conditions>
        <add input="{HTTP_HOST}" type="Pattern" pattern="^http://newwebsite.net/somepath(.*)">
      </conditions>
        <action type="Redirect" value="http://oldwebsite.net/somepath(.*)" />
    </rule>
  </outboundRules>
 </rewrite>

请注意,这是基于具有HTTP响应的Web服务器变量的示例规则(404)。如果WordPress使用一些自定义查询字符串等,则该规则应该比这个更复杂。