WordPress的搬家之旅(搬到宝塔):SSL、伪静态问题

前言:

今天将博客成功搬家到了腾讯云,一路上遇到了不少坑,特此记录,希望对大家有帮助。

 

 

 

 

 


搬家之旅

以下内容以搬家到宝塔面板为例

注意:

  • 如果你的wordpress有类似WP super cache这种插件 ,请暂时将它卸载,我之前带着它出现了莫名其妙的问题。
  • 注意搬家时PHP版本最好要一致,否则会出现后台打不开、网站无法访问等现象
  • 每一次测试最好等个几分钟,或者重启一下网站。另外注意及时清理浏览器缓存。

下面的文章主要参考了

  1. WordPress网站(搬迁)搬家教程
  2. 宝塔一键配置https
  3. Nginx下完美解决WordPress的伪静态 (wordpress 迁移后 导致 页面404)

 

1.网站搬家

原面板

原来到原来的网站管理面板,找到你主要的WP网站数据(好像是“httpdocs”吧),将其压缩并且利用ftp下载到你的本机中。

将原网站的数据库也导出到本机。

 

新面板

宝塔面板下新建一个网站,同时为网站建立一个数据库,记录好数据库名、账号、密码。

将网站数据上传到新网站的空间,并且新网站的目录中解压下来,注意设置好根目录(里面有个wp-config.php所在目录的就是网站根目录)

新网站中导入我们的数据库,利用phpMyAdmin等工具即可。

注意,phpMyAdmin要注意外部安全组开启了对应端口888,还有就是phpMyAdmin对应环境的PHP版本最好不要用73,会出现一个报错情况。

 

到这里为止,你的旧网站的东西就已经全部搬家到新环境中了,我们后面的步骤就和旧网站无关了。

 

 

2.建立数据库连接

将网站目录中的wp-config.php进行编辑:

上面三个黑处分别写上之前记录的数据库名、数据库账号、数据库密码。

第四项的主机地址请根据自己情况验证对不对。

如果你的网站出现了“数据库建立连接错误”,那一般就是这里写错了

 

然后进入新空间的phpadmin修改数据库:修改数据库表wp_options里的“siteurl”和“home”字段的值,改为你的新域名(没有更换域名请无视即可);

 

到这里为止,应该你的网站主页面应该可以正常显示了。

 

3.修改数据库信息

原来的文章里有链接或者图片是用以前域名的地址,所以还要修改那些地址。比如在phpadmin里,执行执行以下语句:

UPDATE wp_options SET option_value = REPLACE(option_value,‘旧地址’,‘新地址’);
UPDATE wp_posts SET post_content = replace(post_content,‘旧地址’,‘新地址’);
UPDATE wp_posts SET post_excerpt= replace(post_excerpt,‘旧地址’,‘新地址’);
UPDATE wp_posts SET guid= replace(guid, ‘旧地址’,‘新地址’);

有可能前缀字段是不一样的,但是后面应该都是 options、posts 这样的。

 

到这步为止,如果你的网站完全正常了,恭喜你已经成功迁移。

如果还不行,后面的情况会有各式各样的,我就按照自己遇到的情况来说了,希望可以给你做个参考。

 

4.SSL申请与安装

我搬家的时候到了这一步,网站主页是可以正常打开了,我本人是没有换域名的,但是图片没有显示,以及链接啥的,点了都没有效果。

于是我审查了审查数据库,终于发现,数据库中记录的是“https://is-hash.com/……”,可是现在我的这个网站还不支持 https 协议,所以图片啥的不能访问到。

于是我就去给这个网站申请 ssl证书。

申请证书

我是去腾讯云申请证书的,填写了一些资料之后,它会让你验证域名,这个很简单的,在你的域名商那里设置txt解析就好了(申请证书那里会有步骤教程)。

然后等个几分钟,ssl就申请成功了,下载下来,会有这四个目录

我的宝塔这里,使用的服务器软件是Nginx,所以我就以它为例。

打开目录,会有两个文件。

打开宝塔,打开对应网站的设置,选中SSL,选择其他证书。

将两个文件的内容分别填入

  • .key 文件内容填入左边
  • .crt  文件内容填入右边

保存后,就可以直接申请证书了

回到自己的网站,有意思的事情来了,图片可以正常显示了!

 

 

5.Nginx下完美解决WordPress的伪静态问题

打开网站主页面,图片是可以正常显示了,但是我发现点击所有的链接,文章也好、分类也好、全部都跳转成了 404 Not Found

头疼。

经过一番查阅,大致原因应该是我原先的博客是在Apache环境中,现在来到了Nginx环境,所以出现了这个问题。

终于得到了解决方法,下面完全照搬嘆世殘者——華帥的文章了。

 

第一步:按照文章名为例,登陆后台按照箭头顺序修改固定连接,点击保存更改(后台登录地址:https://域名/wp-login.php)

第二步:登陆宝塔面板后台,按照文件路径 找到属于要配置域名的conf文件 点击编辑

第三步:添加框选出来的内容,点击保存即可

    location / {
    try_files $uri $uri/ /index.php?$args;
    } 
  
    # Add trailing slash to */wp-admin requests.
    rewrite /wp-admin$ $scheme://$host$uri/ permanent;

 

刷新页面即可正常访问。

 

做完上面的步骤之后,等了一会会,我的网站就正常运行了!

 

另外,今天还知道了一个冷知识,只要域名不同,多个网站可以运行在同一端口

 


 

 

 

商业转载 请联系作者获得授权,非商业转载 请标明出处,谢谢

发表评论