我最近将一个经典 asp 的网站改写为 asp.net。该站点有大量指向以 .asp 结尾的文章的反向链接。鉴于所有这些文章现在都驻留在 .aspx 页面上,您将如何收回这些宝贵的反向链接?
编辑 - 反向链接意味着网络上有很多其他网站指向,例如,article.asp 和 article.asp 将不再存在,现在将是 article.aspx。
我最近将一个经典 asp 的网站改写为 asp.net。该站点有大量指向以 .asp 结尾的文章的反向链接。鉴于所有这些文章现在都驻留在 .aspx 页面上,您将如何收回这些宝贵的反向链接?
编辑 - 反向链接意味着网络上有很多其他网站指向,例如,article.asp 和 article.asp 将不再存在,现在将是 article.aspx。
使用 URL 重写来适当地重定向链接 - 这意味着它们应该是 301 重定向。因此,如果某人或某物(即搜索机器人)访问 .asp 页面,他们将被重定向到相应的 .aspx 页面。对于 IIS 从这里开始:http ://www.iis.net/downloads/microsoft/url-rewrite
理想情况下,我也会摆脱 .aspx 扩展名,路由将帮助您。
我最近经历了一个类似的项目,我们所做的是为旧的经典 asp 页面创建了很多占位符页面,如下所示:
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","/New/Page/RelativeAddress"
Response.End
%>
那是页面的全部内容,因此旧页面被映射到新位置。这对我们有用,因为我在一所小型大学里,在那里我可以得到廉价的勤工俭学来做基本上是复制/粘贴的工作。如果您有很多页面,您还可以将地图放入数据库表中并将代码写入 404 处理程序以进行重定向。
如果你真的想保留.asp,那么你应该将新网站(带有.aspx扩展名)中的url重写为.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>
以下是我的建议
我不会在 ASP 中编码,所以我不知道是否有更简单的方法