Asp.net 在不丢失反向链接的情况下重写站点

Asp.net 在不丢失反向链接的情况下重写站点,asp.net,asp-classic,seo,Asp.net,Asp Classic,Seo,我最近把一个经典asp的网站改写成了asp.net。该网站有大量指向以.asp结尾的文章的反向链接。鉴于所有这些文章现在都位于.aspx页面上,您将如何收回这些宝贵的反向链接 编辑-反向链接意味着web上有许多其他网站指向,例如,article.asp和article.asp将不再存在,它将成为article.aspx。以下是我的建议 编写一个脚本,以字符串形式打开所有文件,对其进行解析并将.asp更改为.aspx(需要30分钟) 创建.asp重定向页面以重定向到.aspx页面(也可以通过脚本自

我最近把一个经典asp的网站改写成了asp.net。该网站有大量指向以.asp结尾的文章的反向链接。鉴于所有这些文章现在都位于.aspx页面上,您将如何收回这些宝贵的反向链接


编辑-反向链接意味着web上有许多其他网站指向,例如,article.asp和article.asp将不再存在,它将成为article.aspx。

以下是我的建议

  • 编写一个脚本,以字符串形式打开所有文件,对其进行解析并将.asp更改为.aspx(需要30分钟)
  • 创建.asp重定向页面以重定向到.aspx页面(也可以通过脚本自动执行)

  • 我不使用ASP编写代码,所以我不知道是否有更简单的方法

    您可以做的一件事是添加简单的JavaScript,使用jQuery查找所有以.ASP结尾的链接,替换为.aspx

    并将代码添加到布局页面,这样它将应用于所有页面

    <html>
    <head>
    
         <script src="http://www.google.com/jsapi" type="text/javascript"></script>
    
         <script type="text/javascript">google.load("jquery", "1.3.2");</script>
    
    </head>
    <body>
    
        <a href="a.asp">A</a> | 
        <a href="b.asp">B</a>
    
    
        <script>
        $(document).ready(function(){
            $('a[href$=".asp"]').each(function(){
                var lnk = $(this).attr('href');
                $(this).attr('href',lnk+'x')
            });
    
        });
        </script>
    </body>
    
    
    load(“jquery”,“1.3.2”);
    | 
    $(文档).ready(函数(){
    $('a[href$=“.asp”]”)。每个(函数(){
    var lnk=$(this.attr('href');
    $(this.attr('href',lnk+'x'))
    });
    });
    

    使用URL重写适当地重定向链接-这意味着它们应该是301重定向。因此,如果某人或某事(即搜索机器人)访问.asp页面,他们将被重定向到相应的.aspx页面。对于IIS,从这里开始:


    理想情况下,我也应该去掉.aspx扩展名,它的路由将帮助您。

    我最近经历了一个类似的项目,我们所做的是为旧的经典asp页面创建许多占位符页面,如下所示:

    <%
       Response.Status="301 Moved Permanently"
       Response.AddHeader "Location","/New/Page/RelativeAddress"
       Response.End
    %>
    
    
    

    这就是页面的全部内容,因此旧页面被映射到新位置。这对我们来说很有效,因为我在一所小型大学里,在那里我可以得到廉价的工作学习劳动力来完成基本上是复制/粘贴的工作。如果你有很多页面,你也可以将地图放在数据库表中,并将代码写入404处理程序以执行重定向。

    如果你真的想保留.asp,那么你应该将新网站中的URL(扩展名为.aspx)重写为.asp扩展名。(这仅适用于新网站中的链接结构与旧网站中的链接结构相同的情况)

    在asp.net中创建链接的方法很多。对于静态链接html标记和动态链接,您可以使用超链接、链接按钮等。如果不知道它们的工作方式,很难提出任何建议。提供一些带有链接的代码/标记,这会很有帮助。欢迎使用SO。如果可能,请添加代码以增加答案的值。关键问题是是否存在从旧到新的1对1映射-如果存在,则简单的重写规则应该可以解决问题。是的,重写,但不是aspx到asp-t'相反