ASP.NET静态后的重复网页内容肿么处理掉

2012-04-14 10:18:04 +08:00
 zcl
网站本来是已经静态化了,但是老大要求每个页面都要显示登录,注册一些动态的元素,程序员说静态页面搞不出这些动态的元素,然后又启用所有动态页面.aspx才能显示登录、注册这些东西。

结果,网站的重复内容很多,每个页面都有相同的aspx,html内容页面,并且出现大量的404错误.html页面。肿么办呢?

尝试的解决办法,301重定向。
因为网站实在存在太多.aspx、.html页面重复,如果一个一个页面做301重定向是非常难完成的。请问,有没有简单的办法把所有重复的.html页面,全部做301重定向到对应的.aspx页面中?
3980 次点击
所在节点    问与答
21 条回复
zhuzhuor
2012-04-14 10:28:10 +08:00
robots.txt ?
zhuzhuor
2012-04-14 10:33:37 +08:00
你不是说搜索引擎里的重复内容吧?robots指的是这个...
你是问有啥同样内容的asp就把html的link改成asp的?
估计写个小的脚本能很快搞定,看看每个html的link,如果有同名(?)的asp就把link改掉,然后删掉html?
zcl
2012-04-14 10:36:03 +08:00
robots.txt还不是要一个一个找出链接吗?不想把所有html页面都禁止啊!
zcl
2012-04-14 10:40:10 +08:00
@zhuzhuor 现在的问题是,每个aspx页面都有对应的html页面,这些对应的html链接有的可以正常显示,有的却显示404页面,这就是郁闷的问题了,如果所有对应的html都可以正常显示就不需要什么处理了。
zcl
2012-04-14 10:44:23 +08:00
@zhuzhuor 由于程序员不能在html页面显示登录、注册等一些动态元素,因而网站全部内部链接才启用.aspx。如果用户通过外链接(比如搜索引起结果,或者其它网站)访问这些静态的.html会看到一些404html页面,但是也有部分html页面显示正常。
yangg
2012-04-14 10:54:01 +08:00
不是太明白需求,貌似是要rewrite? html页面不存在的话,rewrite到对应的apsx?
zcl
2012-04-14 11:01:36 +08:00
@yangg 想实现html页面301跳转到对应的aspx页面,因为这两个格式链接页面内容重复了,而且有的html页面访问的话是404。
zhuzhuor
2012-04-14 11:19:10 +08:00
@zcl html都跳转到aspx了,还留着html干啥。全部删掉,链接全部替换呗

不过话说回来,用ajax应该可以在静态页面上显示动态内容吧,登陆和注册貌似都行啊,后台只用实现一部分的动态功能就行
qiayue
2012-04-14 11:33:25 +08:00
@zhuzhuor ajax+1
zcl
2012-04-14 11:43:14 +08:00
@zhuzhuor
html都跳转到aspx做不到啊,是想实现所有html页面301跳转到对应的aspx页面,目前没有做到啊,比如:a.html 301跳→ a.aspx,b.html 301跳→ b.aspx。

就是要想实现比如v2ex导航顶部,看到我们登录信息的用户名,每个页面都可以显示,老大就是要求这个,然后,程序员就把问题复杂化,搞成现在这样的结果,出现了大量的404html页面。
gDD
2012-04-14 12:08:58 +08:00
版本控制回去然后用Ajax。。。
avatasia
2012-04-14 12:10:57 +08:00
很明显,你们不理解静态页,动态页,缓存这几个概念。
这种情况你们不应该用静态页,要用动态页+缓存。
zhuzhuor
2012-04-14 12:53:47 +08:00
@zcl header 里面加<meta http-equiv="refresh" content="0; url=http://company.com/a.aspx">
zcl
2012-04-14 14:05:04 +08:00
@avatasia 没用都用了,现在是想办法解决了。就是想办法处理好这些重复的静态页面,不想直接删除,因为这些页面也存在很长时间了,也有不少外来链接什么的,感觉先做301跳转应该是不错的办法。
zcl
2012-04-14 14:06:09 +08:00
@gDD 嗯!估计是程序员实在水平不行,不然早用Ajax好多了。
wingoo
2012-04-14 14:10:05 +08:00
如果只是显示登录信息,可以用ajax解决
另外动态页面可以有局部缓存的,就是说除了登录信息外的其他信息,可以静态化,动态的登录信息用动态的方式实现
gDD
2012-04-14 14:21:20 +08:00
a.html -> a.aspx这种重定向很简单的啊,Google一搜就有了。
zcl
2012-04-14 19:41:31 +08:00
@gDD a.aspx这种重定向很简单的,但是当大量页面都要这样做的时候,就不简单了,你甚至找不到所有a.html页面。
gDD
2012-04-14 19:44:52 +08:00
@zcl 服务器的配置文件应该能用正则吧。把所有.html结尾的链接直接转到.aspx。
thereisnoif
2012-04-24 19:17:30 +08:00
如果是IIS 7的话,可以使用Url Rewrite module,利用正则表达式规则;
参考 http://learn.iis.net/page.aspx/461/creating-rewrite-rules-for-the-url-rewrite-module/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/32217

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX