从 .Net 应用程序中的 Web.config 重定向 URL

Posted

技术标签:

【中文标题】从 .Net 应用程序中的 Web.config 重定向 URL【英文标题】:Url redirect from Web.config in .Net application 【发布时间】:2021-10-08 00:27:01 【问题描述】:

我在 Azure 应用服务中托管了 ASP.Net Web 应用程序。

我想将 URL 从 Web.config 重定向到另一个 URL。

例如以下网址

https://www.example.com/Products

and 
           
https://example.com/Products

需要重定向到新的网址:

https://www.example.com/productregistration/ProductRegistration

and

https://example.com/productregistration/ProductRegistration

也就是说,当有人点击这个时

https://www.example.com/Products 

在浏览器中,应该到

https://www.example.com/productregistration/ProductRegistration

我该怎么做?

我试过了:

<rewrite>
 <rules>
   <rule name="example" stopProcessing="true" enabled="true">
    <match url="(.*)" /> 
    <conditions>
        <add input="HTTP_HOST" pattern=" 
                    https://www.example.com/Products" /> 
        <add input="URL" pattern="^/$" />
    </conditions>
    <action type="Redirect" 
   url="https://www.example.com/productregistration/ProductRegistration" 
  redirectType="Temporary" />
  </rule>
 </rules>
</rewrite>

得到错误:

由于发生内部服务器错误,无法显示此页面。

而且,我可以将它保存在 Web.config 的什么位置?还有,什么是301重定向?

【问题讨论】:

这里是:***.com/questions/10399932/… 301 重定向本质上意味着“永久移动”作为 HTTP 状态代码,并将被识别用于 SEO 目的。 ***.com/questions/48886601/… 【参考方案1】:

此重定向规则不在 web.config 中,而是在文件夹本身中。这是一个 html 重定向规则,您只需要转到文件夹并添加以下行:

<html>
    <head>
        <meta http-equiv="refresh" content="0; url=https://www.google.com" /> 
    </head>
    <body>
    </body>
</html>

【讨论】:

以上是关于从 .Net 应用程序中的 Web.config 重定向 URL的主要内容,如果未能解决你的问题,请参考以下文章

停止从 IIS 7.5 中的父 ASP.NET 应用程序继承 web.config

从 Razor View-MVC3 ASP.NET 中的 Web.config 访问键值

如何从控制台应用程序中读取 web.config 的 <connectionstring>?

将 .NET 对象公开为 COM - web.config 会发生啥

将 ASP.Net System.Net.Mail 设置移动到 Web.config

如何从 Web.config 读取 system.net/mailSettings/smtp