您现在的位置是:首页 > SEO > 搜索引擎搜索引擎

网站出现死链了内页301重定向帮你解决

林剑伟2020-11-04【搜索引擎】人已围观

简介301重定向是当用户或搜索引擎向网站服务页器发出浏览请求时,服务器返回的HTTP状态码的一种,表示本网页永久性转移到另一个地址,本文主要讲解Linux主机网站内页出现死链或者更换链接如何通过.htaccess文件一分钟实现301内页重定向。

301重定向是当用户或搜索引擎向网站服务页器发出浏览请求时,服务器返回的HTTP状态码的一种,表示本网页永久性转移到另一个地址,本文主要讲解Linux主机网站内页出现死链或者更换链接如何通过.htaccess文件一分钟实现301内页重定向。

死链内页301重定向

死链接处理

对于一个网站出现死链有时候不可避免,网站上线后严格是不允许修改路径的,如果路径修改了就会出现死链。但是出现了死链是做301跳转到新页面还是做404删除页面,一般的说搜索引擎对于网站404错误页面的处理就是将其排名进行下降,然后会把这个页面删除,如果我们的网站存在过多的404页面,会降低搜索引擎对我们网站的友好印象,慢慢的蜘蛛对网站每天的访问和收录速度就会降低,最后会使我们的网站出现快照滞后的现象,同时降低网站权重。

使用301重定向来处理这样就可以保留之前页面上的权重,并且能够将其传递到新的跳转页面。一般的用户访问我们的网站都是随机的,所以对于页面位置是否移动不会注意,即使是老用户他们关心的也只是页面上内容,而不是链接。

301重定向方法

通过.htaccess来实现网站内页301跳转

如果你的网站根目录中已经存在了.htaccess文件,那么你可以直接修改该文件,然后将规则添加进去,如果你的网站根目录中不存在.htaccess文件,你可以先自己创建个htaccess.txt这样的空文件,然后添加如下规则,建成后将htaccess.txt文件上传到网站根目录,然后将htaccess.txt名修改为.htaccess

1. aaa.com 301跳转到 www.aaa.com

  1. RewriteEngine on
  2. RewriteCond %{http_host} ^aaa.com$ [NC]
  3. RewriteRule ^(.*)$ http://www.aaa.com/$1 [R=301,L]

2. www.aaa.com 301跳转到 www.bbb.com

  1. RewriteEngine on
  2. RewriteCond %{http_host} ^www.aaa.com$ [NC]
  3. RewriteRule ^(.*)$ http://www.bbb.com/$1 [R=301,L]

3. www.aaa.com/bbb.html 301跳转到二级域名 bbb.aaa.com

  1. RewriteEngine on
  2. RewriteCond %{http_host} ^www.aaa.com$ [NC]
  3. RewriteRule ^bbb.htmlhttp://bbb.aaa.com/$1 [R=301,L]

4. www.aaa.com/bbb.html 301跳转到 www.aaa.com/ccc.html

  1. RewriteEngine on
  2. RewriteCond %{http_host} ^www.aaa.com$
  3. RewriteRule ^bbb.htmlhttp://www.aaa.com/ccc.html$1 [R=301,L]

 

相关注释:

1、(.*) 通配符意思及全部匹配;

2、[NC] 在文章页面不能添加;

3、$符号后面有空格;

4、通过.htaccess文件规则跳转方法只有在Linux主机才适用

5、如果是wordpress设置的伪静态你把跳转代码放到<IfModule mod_rewrite.c>……</IfModule>之间没有特殊情况不要去点击wordpress后台管理中“设置->固定链接”,因为只要你点击了“固定链接”,系统会将<IfModule mod_rewrite.c>……</IfModule>模块的内容初始化,解决办法就是你可以把代码放到外面。

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteCond %{http_host} ^www.xiaomseo.com$
  4. RewriteRule ^56$ http://www.xiaomseo.com/56.html [R=301,L]
  5. RewriteBase /
  6. RewriteRule ^index\.php$ - [L]
  7. RewriteCond %{REQUEST_FILENAME} !-f
  8. RewriteCond %{REQUEST_FILENAME} !-d
  9. RewriteRule . /index.php [L]
  10. </IfModule>

 或者你可以这样写,这样点击固定链接就不会受到影响
  1. RewriteEngine On  
  2. RewriteCond %{http_host} ^www.xiaomseo.com$  
  3. RewriteRule ^56$ http://www.xiaomseo.com/56.html [R=301,L]  
  4. <IfModule mod_rewrite.c>  
  5. RewriteEngine On  
  6. RewriteBase /  
  7. RewriteRule ^index\.php$ - [L]  
  8. RewriteCond %{REQUEST_FILENAME} !-f  
  9. RewriteCond %{REQUEST_FILENAME} !-d  
  10. RewriteRule . /index.php [L]  
  11. </IfModule>  

 

如果你的网站有大量的死链通过这种单一的方式添加链接就是个力气活了,不过我们可以通过正则表达式进行匹配,只需要写一个通配符链接就全部搞定了,详细内容可以关注我接下来的文章。

比如:RedirectMatch 301 ^/(\d+)$ /$1.html 我加一条这样的规则,只要用户输入www.xiaomseo.com/任何数字  都会跳转到  www.xiaomseo.com/任何数字.html这种带.html后缀的链接。

Tags:

很赞哦! ()

上一篇:返回列表

下一篇:HTTPS 与 SSL 证书概要

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

本站推荐

站点信息

  • 建站时间:2019-03-02
  • 网站程序:林剑伟
  • 文章统计31篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们