将博客的子域名网站迁移到网站子目录

标题看上去比较绕,简单一点说吧就是下班回家一直到现在就是把原来的https://blog.imhua.com迁移到https://www.imhua.com/shuo ,不要看简单的一句话,我到现在才搞定,wordpress还是真的有点小麻烦,不过在百度和自己的实践下已经完美解决了,特意记录一下,看搜索结果都比较分散,根据我的网站实际情况说一下吧。

1:因为我的https://blog.imhua.com就是一个说说,全是文字,数据量也很小,所以很简单的第一步,进入数据库里执行SQL语句:

UPDATE wp_options SET option_value = replace(option_value, 'blog.imhua.com','www.imhua.com/shuo') ;
UPDATE wp_posts SET post_content = replace(post_content, 'blog.imhua.com','www.imhua.com/shuo') ;
UPDATE wp_comments SET comment_content = replace(comment_content, 'blog.imhua.com', 'www.imhua.com/shuo') ;
UPDATE wp_comments SET comment_author_url = replace(comment_author_url, 'blog.imhua.com', 'www.imhua.com/shuo') ;

这样我们就在数据库里替换了网址,当然这时候网站文件已经传到了/shuo/目录里。

2:设置网站的二级目录的伪静态,本站服务器是nginx,找到加载的wordpress.conf进行修改,添加以下二级目录伪静态。

location /shuo/ {
index index.html index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /shuo/index.php;
}
}

当然别忘记service nginx reload,以使它生效。

3:进入网站二级目录的站点后台,进行网站文件配置的修改,虽然在数据库里执行了替换,但是有些并不完全,比如主题的设置,一些链接的设置等等。

4:到这里基本大功告成,这时候千万不能忘记网址的301,特别搜索引擎有收录的话,本站就是讲https://blog.imhua.com  301到 https://www.imhua.com/shuo ,nginx的301也很简单:

if ($host = 'blog.imhua.com' ) {
     rewrite ^/(.*)$ https://www.imhua.com/shuo/$1 permanent;
}

在网站配置conf文件里加上301语句就好,当然还是别忘记service nginx reload,以使它生效。通过这四个步骤后基本就解决了,以前也是懒,这样用二级目录就可以了。还是不错的。
00251.jpg

原创文章,作者:道情,如若转载,请注明出处:https://www.imhua.com/2019/421.html

发表评论

登录后才能评论

联系我们

QQ:36676984

在线咨询:点击这里给我发消息

邮件:admin@imhua.com

QR code