-1

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

编辑 - 反向链接意味着网络上有很多其他网站指向,例如,article.asp 和 article.asp 将不再存在,现在将是 article.aspx。

4

5 回答 5

1

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

理想情况下,我也会摆脱 .aspx 扩展名,路由将帮助您。

于 2013-08-11T18:14:32.123 回答
1

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

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

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

于 2013-08-11T19:45:51.943 回答
-1

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

于 2013-08-12T16:12:33.000 回答
-1

您可以做的一件事是添加简单的 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>

于 2013-08-10T23:00:08.870 回答
-1

以下是我的建议

  1. 编写一个脚本,将您拥有的每个文件作为字符串打开,对其进行解析并将 .asp 更改为 .aspx(需要 30 分钟)
  2. 创建 .asp 重定向页面以重定向到您的 .aspx 页面(也可以使用脚本自动执行)

我不会在 ASP 中编码,所以我不知道是否有更简单的方法

于 2013-08-10T22:51:49.297 回答