WordPress发长文章出现/cp_errordocument.shtml (port 443)错误如何解决
根本原因
- WordPress或相关插件自动覆写.htaccess文件:默认情况下WordPress修改固定链接、缓存/安全类插件更新规则时,都会重写.htaccess的内容,你手动添加的配置如果放在WordPress默认规则块内,会被自动覆盖,导致生效几小时后失效。
- 服务器运行模式不支持.htaccess的PHP配置指令:如果你的主机用PHP-FPM/FastCGI模式运行PHP,是不支持.htaccess中
php_value语法的,配置本身就不会长期生效,部分主机还会定期清理.htaccess中不符合规范的自定义配置。 - WAF(Web应用防火墙)拦截:你遇到的
/cp_errordocument.shtml是cPanel面板默认的403错误跳转页,发布长篇文章时请求体过大,触发了主机预设的WAF拦截规则,就算PHP参数配置正常也会被拦截。
永久解决方法
- 修正.htaccess配置的放置位置:把你的自定义PHP配置放在
# BEGIN WordPress和# END WordPress标记块的外面,WordPress自动更新规则时只会修改这两个标记之间的内容,不会覆盖外部配置。也可以给.htaccess设置444只读权限,避免程序自动修改。 - 改用
.user.ini配置PHP参数:如果你的主机是PHP-FPM模式,直接在站点根目录新建.user.ini文件,写入以下内容,优先级高于.htaccess且不会被WordPress覆写:
max_execution_time = 300 post_max_size = 256M upload_max_filesize = 256M
- 调整WAF规则:联系你的主机服务商,说明发布大体积内容时触发403拦截的情况,要求调高WAF对POST请求的大小限制,关闭对应的误拦截规则。如果是自行管理的服务器,可以调整ModSecurity等WAF的规则阈值。
- 排查插件冲突:逐个禁用安全、缓存类插件,切换为默认主题测试,确认是否是第三方插件的拦截规则导致的错误。
内容的提问来源于stack exchange,提问作者Alexandra Opra
相关产品推荐
相关产品推荐

