301重定向是当用户或搜索引擎向网站服务页器发出浏览请求时,服务器返回的HTTP状态码的一种,表示本网页永久性转移到另一个地址,本文主要讲解Linux主机网站内页出现死链或者更换链接如何通过.htaccess文件一分钟实现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
- RewriteEngine on
- RewriteCond %{http_host} ^aaa.com$ [NC]
- RewriteRule ^(.*)$ http://www.aaa.com/$1 [R=301,L]
2. www.aaa.com 301跳转到 www.bbb.com
- RewriteEngine on
- RewriteCond %{http_host} ^www.aaa.com$ [NC]
- RewriteRule ^(.*)$ http://www.bbb.com/$1 [R=301,L]
3. www.aaa.com/bbb.html 301跳转到二级域名 bbb.aaa.com
- RewriteEngine on
- RewriteCond %{http_host} ^www.aaa.com$ [NC]
- RewriteRule ^bbb.html$ http://bbb.aaa.com/$1 [R=301,L]
4. www.aaa.com/bbb.html 301跳转到 www.aaa.com/ccc.html
- RewriteEngine on
- RewriteCond %{http_host} ^www.aaa.com$
- RewriteRule ^bbb.html$ http://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>模块的内容初始化,解决办法就是你可以把代码放到外面。
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteCond %{http_host} ^www.xiaoms$
- RewriteRule ^56$ http://www.xiaomseo.com/56.html [R=301,L]
- RewriteBase /
- RewriteRule ^index.php$ – [L]
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule . /index.php [L]
- </IfModule>
- RewriteEngine On
- RewriteCond %{http_host} ^www.xiaoms$
- RewriteRule ^56$ http://www.xiaomseo.com/56.html [R=301,L]
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteBase /
- RewriteRule ^index.php$ – [L]
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule . /index.php [L]
- </IfModule>
如果你的网站有大量的死链通过这种单一的方式添加链接就是个力气活了,不过我们可以通过正则表达式进行匹配,只需要写一个通配符链接就全部搞定了,详细内容可以关注我接下来的文章。
比如:RedirectMatch 301 ^/(d+)$ /$1.html 我加一条这样的规则,只要用户输入www.xiaomseo.com/任何数字 都会跳转到 www.xiaoms/任何数字.html这种带.html后缀的链接。
推荐:通过修改.htaccess批量实现网站内页301重定向跳转
Today on history:
- 2021:俄妹COS《2077》朱迪网络走红 颜值和身材突破次元壁(0)
- 2021:上市后股价腰斩 滴滴出行:正积极全面配合网络安全审查(0)
- 2021:“光刻机第一股”将登A:大基金一期子基金参股 概念股名单梳理(0)
- 2021:俄将在国际空间站拍摄首部太空电影!摄制组已达发射场(0)
- 2021:比特币暴跌10%:超25万人爆仓近百亿!萨尔瓦多趁机吃进150枚(0)