将Wordpress博客帖子重定向到新网站,截断标题

时间:2014-08-06 22:31:12

标签: wordpress .htaccess

所以这里有很多有用的帖子可以将Wordpress博客从站点A重定向到站点B,但是我的事情稍微复杂一些。

我希望做一些重定向:

  

http://www.site1.com/2014/02/06/some-really-long-title

为:

  

http://www.site2.com/blog/view/some-really-long-title-truncated

此外,帖子标题在site2上被截断为100个字符,因此这增加了额外的复杂层,我不知道如何解决?

修改: 总而言之,这就是我追求的目标

1:我需要删除'/ 2014/02/06 /'并替换为'/ blog / view /'

2:我需要截断标题,从'some-really-long-title'到'some-really-long-title-truncated'。具体而言,新站点上的标题将为varchar(100)

类型

编辑2 : 所以我有部分工作,只需要解决如何截断标题现在? 这是我到目前为止所得到的:

RewriteEngine On
RewriteBase /
RewriteRule ^([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://www.site2.com/blog/view/$4 [R=301,NC,L]

所以基本上1美元现在是一年,2美元是一个月中的一天,3美元是月份,最后4美元是帖子标题。完善!这就是我所需要的。

现在我该如何将其缩短为100个字符?我基本上需要{,100}但不知道如何将该正则表达式应用到$ 4变量,然后再将其附加到重定向URL?

2 个答案:

答案 0 :(得分:0)

首先将site1备份文件和sql上传到site2 filemanager。转到phpmyadmin并编辑数据库> wp-options表。第一行siteurl site1.com到site2.com。转到wp-admin> options-general.php将wordpress地址和站点地址更改为site2.com 现在通过.htaccess将site1.com重定向到新域名 编辑site1.com的.htaccess并替换为此代码

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !site2.com$ [NC]
RewriteRule ^(.*)$ http://site2.com/$1 [L,R=301]

现在

http://www.site1.com/2014/02/06/some-really-long-title

重定向到:

http://www.site2.com/2014/02/06/some-really-long-title

答案 1 :(得分:0)

我找到了一个解决方案,它既删除了日期,又在重定向之前截断了网址。

所以这是有效的:

RewriteBase /
RewriteRule ^([0-9]+)/([0-9]+)/([0-9]+)/([a-zA-Z0-9\-/_]{0,75})(.*)$ http://www. site2.com/blog/view/$4 [R=301,NC,L]

基本上,我用过

  

([A-ZA-Z0-9 - / _] {0,75})

匹配我追求的75个字符,然后我必须添加

  

(。*)

因为它没有匹配任何标题大于75的网址,所以我不得不考虑到这一点。

现在 $ 4 变量包含网址的前75个字符,其他变量未被使用,但1-3是日期,5是被修剪的部分关闭。