#站长日记# 记录如何解决网站出现大量404死链的问题

aowana 发布于 2018-10-29 15:06     分类:站长学院     来源:爱玩电脑     阅读(147)    

今天使用 “site:aowana.com" 查询网站最新收录情况,发现搜索结果中竟然没有了首页,通常出现这种情况预示着网站出现了问题。经过一番摸排发现网站改版后好多以前的页面竟然无法正常访问了!!原因就是 .htaccess 里面的规则没有正确匹配所致,具体如下:

因为网站经过多次改版所以网站的URL地址非常混乱,例如:


http://www.aowana.com/content.php?id=600
http://www.aowana.com/content/1106/amd-cpu-zen-naples
http://www.aowana.com/content/1087/note6-rename-galaxy-note7.html
http://www.aowana.com/content/1658-amd-athlon200ge.html
内容页URL真的是相当混乱,有动态的、目录形式的、伪静态的、多层目录的,反正就是乱的一逼。


改版之后统一使用 /content/1658-amd-athlon200ge.html 这种伪静态形式URL,只需要在 .htaccess 添加以下内容即可:


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /
RewriteRule ^content/(\d+)([a-z0-9A-Z_-]*).html$ content.php?id=$1&suffix=$2 [L]
因为只有一条以 content/ 开头的URL匹配规则,导致大量原有URL匹配失败无法正常跳转出现404错误无法访问。


如果一个网站出现大量无法访问的链接,既是死链接。百度自然会做出相应的降权处理,所以 site:aowana.com 查询索引结果时没有网站首页。

解决方法也非常简单,添加几条URL匹配规则让所有原有链接能正常访问并跳转至新的页面。

我们打开 .htaccess 文件在结尾追加以下几行规则:


RewriteRule ^content/(\d+)/([a-z0-9A-Z_-]*).html$ content.php?id=$1&suffix=$2 [L]
RewriteRule ^content/(\d+)/([a-z0-9A-Z_-]*)$ content.php?id=$1&suffix=$2 [L]
这样一来 /content/1106/amd-cpu-zen-naples 和多层目录式的伪静态页面都能正常访问并跳转到新的统一URL,到这里操作完成然后就是座等百度更新啦!


标签Tags:百度搜索引擎优化Apache

本站内容未经允许欢迎转载但必须保留原出处链接,部分内容来源互联网版权归原作者所有。

赞 (5) 打赏
上一篇:双11.11抢红包广告浮窗代码,支持COOKIE限制展现次数 下一篇:没有了

推荐阅读

网友评论

头像
推荐

欢迎访问爱玩电脑网

分享最实用的电脑知识和应用技巧,关注IT行业资讯、学装机、玩硬件还有各种搞机新姿势~

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏
二维码A
微信扫一扫打赏
二维码B