Asp.net 在不丢失反向链接的情况下重写站点
我最近把一个经典asp的网站改写成了asp.net。该网站有大量指向以.asp结尾的文章的反向链接。鉴于所有这些文章现在都位于.aspx页面上,您将如何收回这些宝贵的反向链接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页面(也可以通过脚本自
编辑-反向链接意味着web上有许多其他网站指向,例如,article.asp和article.asp将不再存在,它将成为article.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'相反