今日,因网站出现了搜索引擎收录之后无法打开现象,查询发现,收录的是手机站,而打开跳转到旧站目录里了,原来本诺伊网博客是升级过3次,之前目录下的文章都没有删除,采用了并存的方法,后面发现不妥,然后采用了部分网页直接进行跳转的方法,但是还是发现不妥,我的要求是:把网站下的A目录和A目录下面所有的文件301重定向到B目录,也就是说:A目录里的文章打开之后直接跳转到B目录下的文章。
今天就直接想办法进行了二级目录A目录下N篇文章直接跳转到对应的二级目录B目录下的N篇文章,全自动的。
也就是二级目录指定跳转到其他目录里的文章,或者直接跳转到首页都行。反正不管怎么说,大家理解就行,就是那么个意思。
因为是windows虚拟主机,所以,采用web.config301二级目录到首页的方案,
我们先来看下几个案例:
先来看下,web.config中的301格式
<?xml version="1.0" encoding="UTF-8"?><configuration><system.webServer><rewrite><rules><rule name="Redirect(命名)" stopProcessing="true"><match url="^(要重定向的页面)" /><conditions logicalGrouping="MatchAll" trackAllCaptures="false" /><action type="Redirect" url="(重定向到的页面)" /></rule></rules></rewrite></system.webServer></configuration>
多个页面跳转代码如下,以此类推
<?xml version="1.0" encoding="UTF-8"?><configuration><system.webServer><rewrite><rules><rule name="Redirect" stopProcessing="true"><match url="^abc/001.html" /><conditions logicalGrouping="MatchAll" trackAllCaptures="false" /><action type="Redirect" url="http://" /><rule name="Redirect2" stopProcessing="true"><match url="^abc/002.html" /><conditions logicalGrouping="MatchAll" trackAllCaptures="false" /><action type="Redirect" url="http://" /></rule></rules></rewrite></system.webServer></configuration>
多个页面跳转时,rule name 不能相同
整站301跳转
<?xml version="1.0" encoding="UTF-8"?><configuration><system.webServer><rewrite><rules><rule name="WWW Redirect" stopProcessing="true"><match url=".*" /><conditions><add input="{HTTP_HOST}" pattern="^需要转的域名$" /></conditions><action type="Redirect" url="http://要转到的域名/{R:0}"redirectType="Permanent" /></rule></rules></rewrite></system.webServer></configuration>
把网站下的a目录和a目录下面所有的文件301重定向到b目录,搜索了很久之后终于整明白了,只需要写个很简单的301规则即可.
举例:怎么把www.nuobg.com/post 301永久重定向到 www.nuobg.com/reed,不仅目录实现了跳转,让目录下面所有文章也都进行了跳转,代码如下:
<rewrite><rules><rule name="301" stopProcessing="true"><match url="^post/(.*)$" ignoreCase="false" /><conditions logicalGrouping="MatchAll" trackAllCaptures="false" /><action type="Redirect" url="http://www.nuobg.com/reed/{R:1}"/></rule></rules></rewrite>
代码中的post这个二级目录301跳转到reed这个二级目录。并且里面的文章一一对应跳转到reed目录里面的文章。
你自己对应着修改成为自己的就行,截图中红框圈起来的地方自己修改一下。
如果你的服务器不是web系统,可以使用宝塔建站,其它的301功能更简单,如果是织梦网站,还有一个方法解决文件批量301到另一个栏目下面,就是在文档模板里面添加301跳转代码,规则形式是:http://当前域名/跳转目录/文件id.html
设置301跳转大概多久能生效呢?
这个没有一个明确的时间,即使搜索引擎也没有给一个准确的信息,但是,如果站长设置301之后,基本上就可以立马生效。但是对于搜索引擎的抓取来说,做完301之后,对两个站还有可能进行抓取,页面快照可能需要到下一次大更新的时候才能完全替换掉。