记录一下wordpress升级踩的一些坑

  我之前建站的时候,放弃采用FTP,我觉得没必要。导致结果就是 wordpress 无法自动更新,也不能直接安装插件。虽然有点小麻烦,但我觉得还行。

  wordpress 的文章内容等等都是保存在数据库内的,只有上传的资源是在uploads里,还有主题、插件等也是保存在content里的。

  所以备份也就仅仅只要数据库和wp-content而已,再去下载新版本的源码包,wp-content除子文件夹外的index.php要换新版本的。其它根目录的文件全部用新版的覆盖就行,也挺方便的。更换好以后,重新生成wp-config文件,连接一下数据库就完成了。

  这次最花时间的是 .htaccess 之前一直用 nginx ,升级之后我安装了 ssl 证书,就顺便换用 apache2。然后重新去配置了一下

  首先根据 wordpress 的固定链接选项那里,如果在没有 .htaccess 的情况下会在页面生成下面这样一段语句,直接复制进 .htaccess 去。

# BEGIN WordPress
# 在“BEGIN WordPress”与“END WordPress”之间的指令(行)是
# 动态生成的,只应被WordPress过滤器修改。
# 任何对标记之间的指令的修改都会被覆盖。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

然后去 apache2 的配置文件里改一下,将 AllowOverride None 改为 AllowOverride All,当然 。.hatccess 文件也得放在这个路径下。

<Directory /var/www/>
Options Indexes_ FollowSymLinks
AllowOverride All
Require all granted
</Directory>

最关键的一点,一定要测试一下 Apahce 是否启用 Rewrite 模块成功。直接写一个 RewriteRule ,比如在 1.php 里写 123,再写 .hatccess 内容如下

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* 1.php
</IfModule>

如果能跳转就说明成功了。如果配置文件里已经加载了 rewrite 模块,但是还是失败就手动开启一下。

sudo a2enmod rewrite
#再重启apache2
sudo service apache2 restart

一般就没什么问题了

安装SSL,下载对应服务的证书,上传服务器,再去配置文件里写一下路径就行了。

上一篇:Debian10.x搭建wordpress博客


下一篇:手把手教你搭建自己的git+gerrit代码评审服务器