WordPress建站

解决WordPress启用又拍云CDN后导致进入后台wp-admin显示异常/不能发布文章的问题【原创教程】

AndyX:第一次使用又拍云将Wordpress站点使用CDN全球加速的时候由于经验不足,遇到了不少问题,其中一个问题就是:使用了CDN加速后,登录Wordpress后台出现后台页面变形(样式故障以及图形无法正常加载)

启用CDN加速之后Wordpress后台异常显示如下:

upyun_wordpress_error_andyx.net1_.jpg插图 upyun_wordpress_error_andyx.net2_.jpg插图(1)

目前我用的是又拍云CDN加速服务。

首次尝试解决:

尝试在网上找了若干关于Wordpress使用CDN无法正常加载后台的解决办法,但是始终没有找到解决方案。

最终在又拍云的客服的帮助下解决了后台样式加载错误的问题。

本次我整理了关于又拍云CDN无法正常加载Wordpress后台解决方法,希望可以帮到大家。

解决办法:

登录【又拍云后台】→【云产品】→【CDN】→【配置】→【缓存控制】→【参数跟随】→【管理】,在此选择全程跟随(如下图)

upyun_wordpress_error_andyx.net4_.jpg插图(2)

upyun_wordpress_error_andyx.net3_.jpg插图(3) upyun_wordpress_error_andyx.net5_.jpg插图(4) upyun_wordpress_error_andyx.net6_.jpg插图(5)

参数跟随功能说明

当选择【全程跟随】模式时,此时将不会忽略用户请求 URL 中 “?” 之后的参数,该模式下,可能会降低资源文件的缓存命中率,请根据业务情况合理配置。

您可以根据业务需要,控制是否对用户请求 URL 中问号之后的参数进行过滤或者跟随,该模块提供了三种模式的设置,请根据业务情况合理配置,分别为:

1.参数不跟随

默认情况下为【参数不跟随】模式时,此时将会忽略用户请求 URL 中 “?” 之后的参数,可有效提高资源文件的缓存命中率。示例如下:

假如用户请求的 URL 为:https://example.com/index.html?a=1&b=2,回源会过滤参数进行回源,在 CDN 节点会过滤掉请求参数进行缓存,也即 CDN 节点会以 https://example.com/index.html 作为缓存 Key;当用户再次发起的请求 URL 为:https://example.com/index.html?a=1&b=2&c=3 时,则会命中缓存,无需再次回源站获取资源。

2.全程跟随

当选择【全程跟随】模式,此时将不会忽略用户请求 URL 中 “?” 之后的参数。示例如下:

假如用户请求的 URL 为:https://example.com/index.html?a=1&b=2,CDN 节点会以完整的 URL 作为缓存 Key,也即当用户再次请求的 URL 为:https://example.com/index.html?a=1&b=2 时才会命中缓存,否则会直接携带完整的 URL 回源站获取资源。

在该模式下,当用户请求的 URL 为:https://example.com/index.html?a=1&b=2&c=3 时,则不会命中缓存,需要重新回源获取资源。

3.回源跟随

当选择【回源跟随】模式时,此时将会忽略用户请求 URL 中 “?” 之后的参数,但在回源阶段会携带用户请求 URL 中 “?” 之后的参数。示例如下:
假如用户请求的 URL 为:https://example.com/index.html?a=1&b=2,在 CDN 未命中资源的情况下,CDN 会携带完整的请求 URL:https://example.com/index.html?a=1&b=2 回源,并且在 CDN 节点会以 https://example.com/index.html 作为缓存 Key,当用户再次发起请求的 URL 为:https://example.com/index.html?a=1&b=2&c=3 时,则会直接命中缓存,无需重新回源。
该模式下,适合首次访问资源时需要携带完整的请求参数回源,但是在 CDN 节点需要过滤参数进行缓存,可有效提升资源文件的缓存命中率,提高分发效率。

注意事项

  • 默认为参数不跟随状态,此时将会忽略用户请求 URL 中 “?” 之后的参数;
  • 针对动态资源服务,建议设置为全程跟随模式;针对静态资源加速服务,建议配置为参数不跟随模式,可以提高资源文件的缓存命中率。

修改后的效果

upyun_wordpress_error_andyx.net7_.jpg插图(6)

第二次尝试解决:

又过了一段时间,发现Wordpress后台没无法布文章了(经典可视化编辑器显示为空白),点进去文章编辑器是空白的无法写入任何信息。

upyun_wordpress_error_andyx.net8_.jpg插图(7)

刚开始我还以为是服务器设置错误,折腾了2个小时后没成功。尝试去掉CDN加速,立马就好了。最后经过反复的调试,最终定位到了问题是CDN设置引起的故障。

据测试,当“页面压缩”功能开启的时候会过滤掉后台页面重要的JavaScript段落,这直接导致了一系列故障从而使得文章无法发布。

解决办法:

登录【又拍云后台】→【云产品】→【CDN】→【配置】→【性能优化】→【页面压缩】→【OFF关闭】

upyun_wordpress_error_andyx.net9_.jpg插图(8)

页面压缩功能说明

开启页面压缩功能,可以删除 HTML 以及内嵌于 HTML 文档中的 javascript 和 css 注释、重复的空白符,可以有效的去除页面的冗余内容,减少文件大小,加快文件传输速度。

 

终极解决办法:

修改你系统内的Hosts文件,将你的域名强制定向到你的源服务器,这样既可以解决因为启用CDN导致的Wordpress后台任何显示异常问题。

当然,其用此方法仅会导致本机访问网站的时候CDN失效,并不影响其他人通过CDN的访问。

  • Windows系统:C:\Windows\System32\drivers\etc\hosts
  • Linux系统:/etc/hosts

upyun_wordpress_error_andyx.net10.jpg插图(9)

(END)

若需转载本文,请标注来源与链接:原创内容AndyX.Net版权所有

https://andyx.net/solve_the_problem_that_wordpress_enables_cdn_background_display_exception/