使用Redirection插件将二级域名301重定向到二级目录

我今天写了一篇轻博文“Redirection成功将二级域名301重定向到二级目录上”,主要将成功后的喜悦分享出来,没有分享Redirection设置方法。其实,我相信有很多文章已经介绍过Redirection的使用方法了,但是很多人写的都很简单,也许大多数人需要的将二级目录301重定向到二级域名上,其实那么等于提升二级域名的权重,因为很多人主站已经有很高的权重了,就想着将二级目录继承主站的权重传递到二级域名上去,又可以减轻主站的压力。日新博客可没有这样权重,我转移的想法是希望可以重新启用t.rixin.cc这个域名。

前文说了这么多的废话,主题还没有开始。这里我再次说一下wordpress安装Redirection插件就不用介绍了。这里主要就是说一下,如何进行二级域名301重定向到二级目录:

先上一张图片:

使用Redirection插件将二级域名301重定向到二级目录

这张图片的意思就是将:

原网址:t.rixin.cc二级域名重定向到现网址:https://www.rixin.info/t/二级目录上。大家可以在自行查看一下效果。

网站改版可不只是首页的301重定向,还需要将内容页全部301重定向。那么应该怎么做呢?

我百度通过site:t.rixin.cc发现有710条内容,如果每次通过下面的图片添加,还不累死我啊!

使用Redirection插件将二级域名301重定向到二级目录

那么通过Redirection插件的介绍可以使用正则表达式,那么就会变的容易了。

重定向正则表达式

正则表达式(或正则表达式)是一组字符,用于在一段文本中查找模式。

在重定向的上下文中,简单的URL匹配将完全匹配一个URL。正则表达式URL可以匹配许多URL。

除了匹配许多URL外,正则表达式还可以从源URL中提取信息并将其复制到目标URL。

一些示例可能会有所帮助。具有源URL的重定向/my-url 只会匹配的请求/my-url。

具有源URL的重定向/my-url/.* 将匹配以下请求:

/my-url/this
/my-url/that

等等。

的重要组成部分,/my-url/.* 是.*。这是URL的正则表达式部分,等效于说“匹配/my-url/ 后跟任意字符序列”。

请注意,要在重定向中启用正则表达式匹配,请确保已启用'regex'选项。

使用Redirection插件将二级域名301重定向到二级目录

正则表达式语法

因此,正则表达式之类的.*看起来确实很有用。但这实际上是什么意思?

在这种情况下,. 意思是“任何字符”,并且* 意思是前一个表达式的任何数量。也就是说,任何数量的任何字符。

但是,等等,它变得更加复杂!

正则表达式允许使用非常详细和复杂的模式,这些内容超出了本页面的范围。如果您想了解更多详细信息,请搜索“正则表达式”并进行长时间的阅读。

提取源信息

正则表达式不仅可以匹配许多URL,还可以从源URL中提取信息并将其复制到目标URL。

你为什么想这么做?让我们看另一个例子。假设您有一个网站,/oldpage/目录中的某些页面已经移至/newpage/。

/oldpage/bananas/
/oldpage/best-post-in-the-world/​

您想将它们移动到:

/newpage/bananas/
/newpage/best-post-in-the-world/

也就是说,您想要更改/oldpage/ 为/newpage/,但保留bananas 和best-post-in-the-world。

为此,您可以创建一个正则表达式,例如/oldpage/(.*)。

请注意,在.* 括号中。这告诉重定向“捕获”数据。然后,目标网址为/newpage/$1。

在此,$1 由捕获的内容替换 (.*)。所以:

/oldpage/bananas => /oldpage/(bananas) => /newpage/$1 =>/newpage/bananas

无限循环

正则表达式经常发生的问题是无限重定向。也就是说,您创建一个正则表达式,该目录将重定向到自身被同一正则表达式捕获的URL。然后,它一次又一次地重定向,直到浏览器停止并显示一条ERR_TOO_MANY_REDIRECTS消息(或等效消息)为止。

例如,假设我们具有以下重定向:

/index.php/(.*) => /portal/index.php/$1

如果您访问/index.php/banana它将被重定向到/portal/index.php/banana。可是等等!URL /portal/index.php/banana本身将原始正则表达式index.php/banana 匹配为matchs 。/portal/index.php/(.*)

如果我们使用克拉^ 字符,则可以将匹配项固定在URL的开头:

^/oldpage/(.*)

在这里,^ 告诉正则表达式它仅在URL开头匹配时才适用。这样可以防止它与URL中的其他位置匹配,并停止无限重定向。

通过上面的介绍,我大概明白了,如何将日新轻博客的内容页进行301重定向了,我直接将自己的规则发出来参考:

使用Redirection插件将二级域名301重定向到二级目录

终于网站改版一直以来不能够实现的内容,今天成功的解决了,我现在想说的就是早知道这么复杂就不这样做了。下面给大家看一张图片的效果:

使用Redirection插件将二级域名301重定向到二级目录

从这张图片上可以看出,目前还是收获了一点效果的。

使用Redirection插件将二级域名301重定向到二级目录:等您坐沙发呢!

发表评论

表情
还能输入210个字