asp.net 301重定向用于大数据

艾哈迈德·阿拉(Ahmad Alaa)

我已经更改了我的网站数据库,并且已经更改了10000个以上的URL,并且我需要执行301重定向,什么是处理301重定向中的大量数据的最佳方法?

我无法通过使用web.config来执行此操作,该文件将变得很大,并且将需要大量的精力

<httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Permanent">
     <add wildcard="/MyOldAspFile.aspx" destination="/MyNewFile.aspx" />
     <add wildcard="/MyOldHtmlFile.html" destination="/MyNewFile.aspx" />
</httpRedirect>

那么,处理这种情况的最佳方法是什么?

维克多·列昂捷夫(Victor Leontyev)

我想建议为此目的使用重写映射。并将重写映射存储在另一个文件中。在您的web.config中,它将是:

<rewrite>
  <rewriteMaps configSource="rewriteMaps.config"/>
  <rules configSource="rewriteRules.config"/>
</rewrite>

在您的rewriteRules.config中;

<rules>
   <rule name="Rule for Redirects">
      <match url=".*" />
      <conditions>
         <add input="{Redirects:{REQUEST_URI}}" pattern="(.+)" />
      </conditions>
      <action type="Redirect" url="{C:1}" appendQueryString="false" />
   </rule>
</rules>

在您的rewriteMaps.config中:

<rewriteMaps>
    <rewriteMap name="Redirects">
        <add key="/old1" value="/new1" />
        <add key="/old2" value="/new2" />
     </rewriteMap>
</rewriteMaps>

并且URL重写模块应安装在IIS中

如果您的DB具有旧的url,则可以以编程方式填充rewriteMaps。简单逻辑示例在这里:

var urls = new Dictionary<string, string>();
urls.Add("/old", "/new");

var lines = new List<string>();

lines.Add("<rewriteMaps>");
lines.Add("<rewriteMap name=\"Redirects\">");

foreach (var url in urls)
{
    lines.Add(string.Format("<add key=\"{0}\" value=\"{1}\" />", url.Key, url.Value));
}

lines.Add("</rewriteMap>");
lines.Add("</rewriteMaps>");

System.IO.File.WriteAllLines(@"rewriteMaps.config", lines);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

301重定向在ASP.NET web.config中,包括参数

来自分类Dev

如何在ASP.NET中使用301重定向

来自分类Dev

ASP.NET重定向

来自分类Dev

更新重定向ASP .net

来自分类Dev

重定向用户并在ASP.NET MVC中返回JSON

来自分类Dev

在asp.net中重定向用户的最佳方法是什么?

来自分类Dev

当 ASP.NET Core 2.2 项目出现特定异常时,如何重定向用户?

来自分类Dev

在asp.net 5中重定向

来自分类Dev

ASP.NET MVC重定向OnEnd

来自分类Dev

ASP.Net/ASP.NET Core Web API的未授权请求返回302重定向响应,而不是401

来自分类Dev

HTML 重定向与 ASP.Net 重定向

来自分类Dev

页面重定向ASP.NET C#后不显示数据

来自分类Dev

在ASP.NET中进行DNS重写或在ASP.NET中进行DNS重定向

来自分类Dev

ASP.NET MVC 5错误的重定向登录页面

来自分类Dev

三个网站之间的ASP.NET重定向

来自分类Dev

Asp.net核心授权重定向未发生

来自分类Dev

使用ASP.NET MVC MapRoute重定向

来自分类Dev

ASP.Net MVC身份无限重定向循环

来自分类Dev

ASP.Net 4.5 WebForms返回重定向到URL

来自分类Dev

Azure Asp.Net重定向销毁了会话变量

来自分类Dev

asp.net mvc授权属性重定向

来自分类Dev

带有片段的重定向链接(#)-asp.net

来自分类Dev

ASP.NET重定向和结束页

来自分类Dev

ASP.Net身份登录重定向强制协议(Https)

来自分类Dev

ASP.Net 5 AuthorizationHandler失败重定向

来自分类Dev

ASP.NET Core 3.0策略重定向

来自分类Dev

如何通过web.config ASP.NET重定向

来自分类Dev

asp.net/vb网页未重定向

来自分类Dev

基于动作的重定向ASP.Net Core Razor