一、简单的数字形式链接跳转
例如:
变更http://www.***.com/%year%/%monthnum%/%day%/%postname%/ 为 http://www.***.com/%postname%.html
/%year%/%monthnum%/%day%这个路径表示的意思是“年、月、日”3层路径,%postname%是名称。现在需要去掉“年、月、日”这几个多余的层级,变成http://www.***.com/%postname%.html这种形式。
RedirectMatch 301 ^/([0-9]+)/([0-9]+)/([0-9]+)/(.*)/$ /$4.html解释:
RedirectMatch 301 ^可以认为是规则的开始;
中间的三个([0-9]+)分别代表数字“%year%、%monthnum%、%day%”;
(.*)代表最后文章的名称或者ID即“%postname%”;
这四个变量可以赋予编号$1、 $2 、$3 、$4,(.*)和$4.html中间的$可以理解为新老网址的连接符号(注意:$ /$4.html这个符号$和后面的/之间有空格)。
我们要做的就是前面的日期都不要,只留最后的文章名,然后在结尾后面加上.html,所以修改后前面的三个([0-9]+)都不要,只保留最后的(.*),通过下图我们知道(.*)代表$4,所以后面的规则只需写上$4.html就行了。
二、字符形式类链接跳转
例如:变更http://www.***.com/%id% 为 http://www.***.com/%postname%/%id%.html
重定向语句:
RedirectMatch 301 ^/(\d+)$ /(.*)/$1.html解释:
前面我们说过(\d+)代表是任意数字,所以前面的数字变量“%id%”可以写成(\d+);
“%postname%”是名称肯定是字符,而任意字符(包括汉字、英文字母等)对应的表示符号是(.*);
其中数字变量“%id%”即(\d+)对应的编号是$1,我们需要做的是在旧的文章链接的数字ID前面加一个分类名称,所以前面变量的表示方式为/(\d+),后面的可以写成/(.*)/$1.html,再在它们之间加一个链接符号$就行了。
三、变更http://www.***.com/postname/lizi/ 为 http://www.***.com/postname/lizi.html
重定向语句:
RedirectMatch 301 ^/(.*)/(.*)/$ /$1/$2.html四、变更http://www.***.com/lizi/ 为 http://www.***.com/archives/lizi.html
重定向语句:
RedirectMatch 301 ^/(.*)/$ /archives/$1.html五、变更http://www.***.com/lizi 为 http://www.***.com/lizi.html
重定向语句:
RedirectMatch 301 ^/(\d+)$ /$1.html写重定向语句时注意哪些方面:
首先你要弄清楚自己原网址中需要改变的部分是什么形式,是数字还是字母,然后在重定向语句前面的部分用正则表达式对应的符号来表示,(.+) 代表任意字符(包括汉字、英文字母等),(\d+)代表是任意数字(仅仅是阿拉伯数字),然后在语句后面分别用对应符号$1、 $2 、$3 、$4、$5..表示,最后用链接符号$,来链接新旧网址。
注意:连接符号$和后面的新网址之间有一个空格,而且,如果原网址最后有/的话,在$之前也必须有一个/。
上面的代码在.htaccess文件中,也可以放在这个代码<IfModule mod_rewrite.c>.....</IfModule>之外,比如这样:
windows系统的.htaccess批量301规则
RedirectMatch 301 ^/(\d+)$ /$1.html# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
linux系统的.htaccess批量301规则
RedirectMatch 301 ^/(\d+)$ /$1.html# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
网站存在大量的301,对蜘蛛不友好,会降低对网站的信任度。301重定向的正确步骤是:
1、同时解析老域名和新域名,保持并行一段时间,直至新域名“劫持”了老域名的PR(目的是301之后方便让友情链接更换成新域名)
2、在百度站长平台验证新老域名,为301做准备。
3、当新域名获得PR后,在服务器上操作301,然后在百度站长平台设置301。
4、检查所有的页面,把页面中的老域名改成新域名,并修改所有的死链接。
5、等新域名的百度权重差不多恢复后,立刻联系所有的友情链接,让对方改成新域名。
6、为了避免友链的损失,还应更大力度加强新友链工作。
301重定向是什么意思?
最佳答案:
页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。网址重定向最为可行的一种办法。当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。
相信更多做优化的网站都会遇到这样的问题,如域名更换、网站目录结构和网页文件后缀名变更等情况,如果直接操作的话,原先的网站链接都会显示404错误页面,流量白白流失不说,对网站的收录和排名也有很大影响。而301永久重定向,无非是众多重定向技术中最安全、最完美的。解决方案有以下几点:
1、增加域名权重;
2、对网页收录的优化;
3、有利于网页PR传递;
4、可促进搜索引擎优化效果;
5、对用户体验表示友好;
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)