宝塔面板使用wordpress新搭建的网站,如果出现编辑保存文章页面时报错“发布文章更新失败,您可能已经掉线”,可以采用以下的方法解决。
站点情况:使用宝塔建站,站点开启了ssl,申请了免费证书,或者使用了cloudeflare,无法保存和发布文章信息。
原因:wordpress设置-常规中站点url为http导致的。
解决方案:需要将http修改为https。注意不能直接修改,需要先修改wp-config.php文件内容。
如果直接修改wordpress设置将上图http修改为https,会出现后台页面打不开,显示“抱歉,您不能访问此页面,重定向过多”,按照以下第一步处理,如果没有直接修改可从第二步开始。
1、在宝塔数据库中,选择管理,进入phpMyAdmin管理数据库中,找到站点所在的wp_options,将其修改为http,这样后台可以重新登陆
2、打开宝塔网站根目录下wp-config.php文件
在wp-config.php中倒数第二行(如下图位置),添加以下代码,开启https。
define('FORCE_SSL_ADMIN', true); define('FORCE_SSL_LOGIN', true); $_SERVER['HTTPS'] = 'ON'; define('CONCATENATE_SCRIPTS', false);
define('FORCE_SSL_ADMIN', true);
这行代码强制WordPress后台(admin dashboard)使用HTTPS连接。这意味着所有访问 /wp-admin 和相关管理页面的请求将自动重定向到HTTPS。
作用:增加安全性,确保所有管理员操作通过加密连接进行,防止数据被窃听或篡改。
define('FORCE_SSL_LOGIN', true);
这行代码强制WordPress登录页面使用HTTPS连接。这意味着所有访问 /wp-login.php 的请求将自动重定向到HTTPS。
作用:增加登录过程的安全性,确保登录凭据通过加密连接传输,防止登录信息被窃听。
$_SERVER['HTTPS'] = 'ON';
这行代码设置 $_SERVER['HTTPS'] 变量为 ON,模拟HTTPS环境。这对于某些服务器配置或代理服务(如Cloudflare)非常有用,因为这些服务可能不会自动设置 $_SERVER['HTTPS'] 变量。
作用:确保WordPress认为当前连接是HTTPS,即使服务器环境没有自动设置该变量。这可以避免某些情况下WordPress错误地认为连接是非安全的HTTP连接。
define('CONCATENATE_SCRIPTS', false);
这行代码禁用WordPress的脚本合并功能。在WordPress中,多个JavaScript文件通常会被合并为一个文件,以减少HTTP请求数量并提高页面加载速度。
作用:禁用脚本合并,可以在某些情况下排查和解决因脚本合并导致的加载问题或调试问题。特别是在使用HTTPS时,有时脚本合并可能导致资源加载错误或不兼容问题。
3、在wordpress后台设置常规中,将下列两项url进行修改:
WordPress地址(URL),地址改为https
站点地址(URL),地址改为https
本人亲测可用,大家试试吧!
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。