标题看上去比较绕,简单一点说吧就是下班回家一直到现在就是把原来的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 ^/(.*)$ http://www.imhua.com/shuo/$1 permanent; }
在网站配置conf文件里加上301语句就好,当然还是别忘记service nginx reload,以使它生效。通过这四个步骤后基本就解决了,以前也是懒,这样用二级目录就可以了。还是不错的。
原创文章,作者:道情,如若转载,请注明出处:https://www.imhua.com/2019/421.html