页面载入中...

推荐标签

当前位置:首页 > 学院 > 主机环境 > 主机环境

通过修改.htaccess批量实现网站内页301重定向跳转

网站死链有时候是不可避免的,网站栏目页或者文章内页因为某些原因调整了路径,如果想保留之前的链接就需要做301跳转。网站首页的301重定向容易做,不过内页的301就相对复杂一些,通过修改.htaccess文件可以轻松完成这项工作。Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

通过修改.htaccess实现网站内页301重定向跳转Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。在LINUX主机FTP文件中都会有一个.htaccess配置文件用来设置伪静态规则,在前面的一篇文章《网站出现死链了内页301重定向帮你解决》介绍了如何通过修改.htaccess文件实现单页面的301重定向,本文主要介绍如何通过正则表达式实现批量内页跳转。Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

在写之前我们先来认识几个简单的符号所代表的含义Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

1、(.+) 代表任意字符(包括汉字、英文字母等)Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

2、(\d+)代表是任意数字(仅仅是阿拉伯数字)Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

3、$1、 $2 、$3 、$4表示的是对前面出现的变量的引用(你理解这个意思就行了)Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

一、简单的数字形式链接跳转Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

例如:Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

http://www.alidoor.com/2016/12/24/seo/  重定向 为 http://www.alidoor.com/seo.htmlEv0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

说明:Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

http://www.alidoor.com/%year%/%monthnum%/%day%/%postname%/Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

http://www.alidoor.com/%postname%.htmlEv0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

/%year%/%monthnum%/%day%这个路径表示的意思是“年、月、日”3层路径,%postname%是名称。现在需要去掉“年、月、日”这几个多余的层级,变成http://www.alidoor.com/%postname%.html这种形式。Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

重定向语句:Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

RedirectMatch 301 ^/([0-9]+)/([0-9]+)/([0-9]+)/(.*)/$ /$4.html  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

解释:Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

RedirectMatch 301 ^可以认为是规则的开始;Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

中间的三个([0-9]+)分别代表数字“%year%、%monthnum%、%day%”;Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

(.*)代表最后文章的名称或者ID即“%postname%”;Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

这四个变量可以赋予编号$1、 $2 、$3 、$4,(.*)和$4.html中间的$可以理解为新老网址的连接符号(注意:$  /$4.html这个符号$和后面的/之间有空格)。Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

我们要做的就是前面的日期都不要,只留最后的文章名,然后在结尾后面加上.html,所以修改后前面的三个([0-9]+)都不要,只保留最后的(.*),通过下图我们知道(.*)代表$4,所以后面的规则只需写上$4.html就行了。Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

2.jpgEv0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

通过修改.htaccess实现网站内页301重定向跳转Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

二、字符形式类链接跳转Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

1、例如:http://www.alidoor.com/123 重定向为 http://www.alidoor.com/seo/123.htmlEv0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

说明:Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

http://www.alidoor.com/%id%Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

http://www.alidoor.com/%postname%/%id%.htmlEv0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

重定向语句:Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

RedirectMatch 301 ^/(\d+)$ /(.*)/$1.html  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

解释:Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

前面我们说过(\d+)代表是任意数字,所以前面的数字变量“%id%”可以写成(\d+);Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

“%postname%”是名称肯定是字符,而任意字符(包括汉字、英文字母等)对应的表示符号是(.*);Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

其中数字变量“%id%”即(\d+)对应的编号是$1,我们需要做的是在旧的文章链接的数字ID前面加一个分类名称,所以前面变量的表示方式为/(\d+),后面的可以写成/(.*)/$1.html,再在它们之间加一个链接符号$就行了。Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

3.jpgEv0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

2、Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

http://www.alidoor.com/postname/lizi/ 重定向为 http://www.alidoor.com/postname/lizi.htmlEv0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

重定向语句:Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

RedirectMatch 301 ^/(.*)/(.*)/$ /$1/$2.html  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

3、http://www.alidoor.com/lizi/ 重定向为  http://www.alidoor.com/archives/lizi.htmlEv0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

重定向语句:Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

RedirectMatch 301 ^/(.*)/$ /archives/$1.html  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

4、http://www.alidoor.com/lizi 重定向为 http://www.alidoor.com/lizi.htmlEv0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

重定向语句:Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

RedirectMatch 301 ^/(.*)$ /$1.html  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

写重定向语句时注意哪些方面:Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

首先你要弄清楚自己原网址中需要改变的部分是什么形式,是数字还是字母,然后在重定向语句前面的部分用正则表达式对应的符号来表示,(.+) 代表任意字符(包括汉字、英文字母等),(\d+)代表是任意数字(仅仅是阿拉伯数字),然后在语句后面分别用对应符号$1、 $2 、$3 、$4、$5..表示,最后用链接符号$,来链接新旧网址。Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

注意:连接符号$和后面的新网址之间有一个空格,而且,如果原网址最后有/的话,在$之前也必须有一个/。Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

三、代码放置位置Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

上面的代码可以放在这段代码<IfModule mod_rewrite.c>.....</IfModule>中间或者之外,比如这样:Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

RedirectMatch 301 ^/(\d+)$ /$1.html  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

# BEGIN Wordpress  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

<IfModule mod_rewrite.c>  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

RewriteEngine On  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

RewriteBase /  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

RewriteRule ^index\.php$ - [L]  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

RewriteCond %{REQUEST_FILENAME} !-f  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

RewriteCond %{REQUEST_FILENAME} !-d  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

RewriteRule . /index.php [L]  Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频


Ev0阿里开门源码模板淘宝虚拟资源-PB模板网站-PBootCMS模板-精品企业网站商业模板源码教程视频

免责申明:本站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。
来源:阿里开门源码网(QQ:43171398,点我畅聊,转载请保留出处!)   阿里开门源码官方交流QQ群:183966298  点我加群 
 

网友评论

发表评论