分类: 学习

  • 如何修复WordPress死亡白屏(WSoD)故障问题

    错误类型:
    WP内部错误
    错误名称:
    死亡白屏
    英文名称:
    White Screen of Death(WSoD)
    错误描述:
    正如其名称一样,WordPress死亡白屏(也称为“ WSoD”)是该错误在你要访问网页时发生时,显示一个空白屏幕。

    wordpress-white-screen-of-death-1-1024x512-1

    您的WordPress网站是否曾突然遇到死亡白屏(WSoD),该错误会导致网站管理员和访客都无法访问您的网站。

    由于缺少错误导致原因或解决方案等相关信息,WSoD也堪称无形杀手。但是,它又是最常见的WordPress错误之一。虽然死亡白屏缺少信息提示,但依据以往经验,在大多数情况下,都是可以解决的。

    在本文中,我们将解释什么是WordPress死亡白屏(WSoD)及其常见原因,并且我们还将会提出九种常见的可行解决方案,以帮助您的网站尽快恢复正常运行。

    1. 什么是WordPress死亡白屏?
    2. 如何修复WordPress白屏死机问题(9种方法)

    什么是WordPress死亡白屏?

    正如其名称一样,WordPress死亡白屏(也称为“ WSoD”)是该错误在你要访问网页时发生时,显示一个空白屏幕。

    根据不同的浏览器,您可能会收到不同的错误消息。以下是Google Chrome浏览器中的示例,其中包含HTTP 500错误警告“This page isn’t working and is unable to handle the request”:

    谷歌浏览器中的WordPress死亡白屏

    谷歌浏览器中的WordPress死亡白屏

    Mozilla Firefox浏览器的“死亡白屏”就更追求极致了,如下图:

    Firefox浏览器中的WordPress死亡白屏

    Firefox浏览器中的WordPress死亡白屏

    如您所见,它只是一个纯白色的屏幕,不包含任何有用的错误或警告消息。

    WordPress死亡白屏一般是由PHP代码错误或内存限制耗尽引起的。

    又或者是,由存在问题的主题或者插件导致。如果网站前台无法访问但WordPress可进入,则可能是主题插件问题。要快速检查您WordPress网站仪表盘是否正常运行,只需导航至yourdomain.com/wp-admin。

    那么,应该如何解决WSoD?

    如何修复WordPress白屏死机(9种方法)

    当遇到WordPress死亡白屏时,我们应该尽快修复它,让我们看一下可以用来解决该问题的九种可能的解决方案。

    1. 禁用WordPress插件
    2. 切换到默认WordPress主题
    3. 清除浏览器和WordPress插件缓存
    4. 开启调试模式
    5. 增加内存限制
    6. 检查文件权限问题
    7. 检查自动更新失败问题
    8. 解决语法错误或还原备份
    9. 增加PHP文本处理能力

    1.禁用WordPress插件

    修复WordPress的死亡白屏(WSoD)的最简单,最常见的方法之一就是简单粗暴地禁用所有插件。通常,网站由于插件更新错误而关闭。

    前提是您仍然可以访问WordPress仪表盘,进入仪表盘-插件-已安装的插件,选择所有插件,然后从批量操作下拉菜单中选择禁用:

    停用所有WordPress插件

    停用所有WordPress插件

    如果这样可以解决问题,则需要找到最终的罪魁祸首。为此,您可以逐个启用刚才禁用的插件,每启用一个插件后重新加载网站。若在启用该插件后网站发生崩溃时,那么对应的插件则是元凶了。

    如果你需要继续使用该插件,您可以更新插件到最新版本或者联系插件的开发人员寻求帮助。

    如果无法访问仪表板,则可以通过FTP客户端来访问站点的文件目录。在网站根目录的wp-content文件夹下,找到plugins文件夹。将其重命名为类似于“plugins_old”的名称:

    重命名插件文件夹

    重命名插件文件夹

    然后,再次在前端检查您的站点。如果可行,则需要跟前面一样,逐一测试每个插件。恢复插件文件夹为“plugins”,然后分别重命名每个插件文件夹,直到找到有问题的文件夹为止。

    2.切换到默认的WordPress主题

    如果问题不在插件,则有可能是WordPress主题导致死亡白屏。若要查看是否存在此问题,可通过切换为默认主题来替换当前主题。

    如果可以访问WordPress仪表盘,进入后台,然后点击菜单外观>主题。找到并激活默认的WordPress主题,例如Twenty Twenty:

    二0二0主题

    二0二0主题

    然后,再次测试您的站点,如果有效,则证明问题出在主题上。

    如果无法访问仪表盘,则通过FTP访问站点文件夹,然后将wp-content/themes文件夹重命名为其他名称:

    重命名主题文件夹

    重命名主题文件夹

    然后,WordPress将恢复至最新的默认主题。如果没有其他主题,则可以从WordPress主题市场下载一个主题,然后将其上传到主题文件夹。

    之后,请再次检查您的站点。如果有效,则可能是您的主题发生冲突或更新不正确。在这种情况下,您可能需要与主题开发人员联系以寻求帮助或考虑切换为其他主题。

    3.清除浏览器和WordPress插件缓存

    如果可以访问WordPress网站后台,但仍在前台看到WSoD,则可能是由于缓存问题所致。

    要解决此问题,请尝试清除Web浏览器的缓存和WordPress插件缓存(假如你安装了)。

    如果WordPress网站上安装了缓存插件,例如WP Rocket 或WP Super Cache,那么大多数插件会在设置页面提供清除缓存的快速方法。

    以WP Super Cache为例,进入WordPress仪表盘,通过设置>WP Super Cache>Delete Cache

    WP Super Cache插件设置页面

    WP Super Cache插件设置页面

    4.开启调试模式

    如果还是没有解决WordPress死亡白屏问题,仪表盘无法正常工作,或者您认为已找到问题,但想更深入地了解,可以启用调试模式。这将显示网站上发生的任何错误。

    要启用调试,您需要打开WordPress安装目录的wp-config.php文件。找到以下行:

    define( ‘WP_DEBUG’, false )
    define( ‘WP_DEBUG’, false )
    define( 'WP_DEBUG', false )

    将“ false”更改为“ true”,然后重新加载网站。如果此行不存在,则可以将其添加到文件顶部。

    取代完全的白屏,您将会看到白屏和一些错误消息。WSoD错误消息应说明问题起源于哪个文件,如下所示:

    Cannot redeclare get_posts() (previously declared in
    /var/www/html/wordpress/wp-includes/post.php:1874) in
    /var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line 38
    Cannot redeclare get_posts() (previously declared in
    /var/www/html/wordpress/wp-includes/post.php:1874) in
    /var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line 38
    Cannot redeclare get_posts() (previously declared in 
    /var/www/html/wordpress/wp-includes/post.php:1874) in 
    /var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line 38

    比如上述示例中,在错误信息结尾处可以看到问题出在名为my-test-plugin的插件的第38行。我们只要禁用该插件即可解决问题。

    如果启用调试模式后根本看不到任何错误,则可能需要联系主机提供商。您的服务器上可能未正确配置调试。

    请记住,打开调试模式会向未经批准的用户公开网站的某些信息。因此,请确保在使用完该模式后关闭。

    5.增加内存限制

    如果在尝试上述解决方案后WSoD空页面仍存在,或者可能是由于内存限制或内存耗尽导致出错,则需要为应用程序分配更多的内存。

    这可以通过WordPress安装目录的wp-config.php文件来完成。打开文件并添加以下代码:

    define(‘WP_MEMORY_LIMIT’, ’64M’);
    define(‘WP_MEMORY_LIMIT’, ’64M’);
    define('WP_MEMORY_LIMIT', '64M');

    如果这行不通,再试试下面的办法。在常规环境中,您可以使用.htaccess文件来增加内存限制。只需添加以下行:

    php_value memory_limit 64M
    php_value memory_limit 64M
    php_value memory_limit 64M

    如果无法访问.htaccess文件,则可以通过编辑php.ini 文件来增加内存限制。 

    为此,请通过FTP连接到服务器。在网站的根目录中,查找php.ini文件。并在该文件内的任何位置添加以下行:

    memory_limit = 64M
    memory_limit = 64M
    memory_limit = 64M

    如果仍然没有足够的内存可分配,则应用程序中可能存在问题。也许是主题或其中一个插件正在使用过多的内容资源。

    在这一点上,您可能需要找个技术人员通过站点的SQL日志和其他资源统计信息查看原因,或者找主机提供商提供帮助。参考阅读《如何解决WordPress内存限制错误(2种方法)

    6.检查文件权限问题

    WSoD的另一个潜在原因是文件权限问题。但是,除非您真的知道自己在做什么,否则不建议轻易手动去更改WordPress的目录或者文件的权限,因为这可能会无意中创建攻击者可以利用的漏洞。

    当涉及WordPress权限时,要遵循三个简单规则:

    • 文件应设置为664或644。
    • 文件夹应设置为775或755。
    • wp-config.php文件应该被设置为660,600,或644。

    如果拥有服务器的SSH访问权限,则可以进入WordPress根目录,使用以下命令应用适当的规则:

    sudo find . -type f -exec chmod 664 {} +
    sudo find . -type d -exec chmod 775 {} +
    sudo chmod 660 wp-config.ph<code class=” language-bash”></code>
    sudo find . -type f -exec chmod 664 {} +
    sudo find . -type d -exec chmod 775 {} +
    sudo chmod 660 wp-config.ph<code class=” language-bash”></code>
    sudo find . -type f -exec chmod 664 {} + 
    sudo find . -type d -exec chmod 775 {} + 
    sudo chmod 660 wp-config.ph

    如果不确定如何执行此操作或担心失误,还是找Web主机提供商寻求帮助吧。

    7.检查自动更新失败问题

    有时WordPress会遇到更新问题,例如服务器超时。通常,此问题会自动解决。但是,在极少数情况下,它可能会导致WordPress死亡白屏。

    这种情况下,应该做的第一件事是进入WordPress根目录,并查看是否存在.maintenance文件(该文件的名称也可以缩写)。

    你需要做的事情就是尝试删除该文件,然后再次加载您的网站。

    如果更新成功,但WordPress无法自动删除此文件,则一切应恢复正常。

    如果更新未完成,则它可能会自动重新启动,在这种情况下,情况应该会恢复正常。

    如果均失败,请尝试手动更新WordPres,也可以解决解决该问题。

    关于WordPress维护模式的修复,建议查看“WordPress维护模式 – 故障排除和自定义页面教程”文章进一步了解。

    8.解决语法错误或还原备份

    WordPress发生WSoD死亡白屏的另一个常见原因是,执行WordPress网站代码编辑时  ,意外输入了错误的内容或使用了错误的语法。

    一个字符放置在错误的位置可能会破坏整个网站,这就是为什么我们永远不要在生产环境进行网站代码编辑的原因。

    不过不用担心。可以通过FTP连接到站点,并还原网站备份。作为一位WP站长,应该保持良好的网站数据备份习惯:你应该熟悉14个最佳WordPress数据库插件[WP数据库备份、优化及迁移]

    在宝塔面板上,对网站执行数据备份或者恢复,都非常简单:

    如果您是宝塔用户,则可以通过宝塔控制面板的计划任务,创建备份数据库或者备份网站计划任务,支持按周期定时备份,非常方便。

    宝塔控制面板备份计划

    宝塔控制面板备份计划

    如果是恢复数据库备份,您只需要进入宝塔控制面板,进入数据库菜单,找到你需要恢复的数据库,点击“有备份”,选择需要恢复的备份版本,点击“恢复”即可。

    WordPress数据库恢复

    WordPress数据库恢复

    如果是恢复网站备份,则可以通过访问宝塔控制面板-文件,进入/www/backup/site目录,找到网站备份压缩包,将压缩包解压到对应网站目录即可。

    WordPress网站数据恢复

    WordPress网站数据恢复

    如果您之前在WordPress中启用了调试模式,则可能还会出现一条错误消息,提示语法错误。如果是这种情况,它应该准确地告诉你哪个文件第几行的代码出现了问题。

    9.加强PHP文本处理能力

    前面这些都做了,还是不凑效,WSoD尚未解决,则可以尝试另一种技巧。在极少数情况下,死亡白屏是由于页面或文章内容特别长导致。

    在这种情况下,您可以尝试通过增加回溯和递归限制来调整站点上的PHP文本处理功能。为此,请将以下代码粘贴到wp-config.php文件中:

    /* Trick for long posts /
    ini_set(‘pcre.recursion_limit’,20000000);
    ini_set(‘pcre.backtrack_limit’,10000000);
    /* Trick for long posts /
    ini_set(‘pcre.recursion_limit’,20000000);
    ini_set(‘pcre.backtrack_limit’,10000000);
    /* Trick for long posts / 
    ini_set('pcre.recursion_limit',20000000); 
    ini_set('pcre.backtrack_limit',10000000);

    添加此代码后,保存更改。然后刷新站点以查看其是否正在运行。

    小结

    WordPress死亡白屏看似另站长手足无措的故障,但只要站长了解该故障的原因及解决方法,就无需过于担忧。

    在大多数情况下,简单的插件和/或主题检查即可解决WSoD问题。更加熟悉WordPress调试模式,在很多时候可以帮助解决大部分的WP问题。

  • 如何修复WordPress无法上传图片&文件错误

    错误类型:
    WP内部错误
    错误名称:
    无法上传文件错误
    英文名称:
    Upload: Failed to Write File to Disk
    错误描述:
    其实此类WordPress错误是最常见的错误,也是最容易解决的错误,只需通过FTP调整一些权限设置,或者情况WordPress临时文件,或者升级你的服务器,采取哪一种方案要视实际情况而定。

    如何修复WordPress无法上传图片&文件错误

    你是否也曾经遭遇过WordPress无法上传文件报错提示,一般为“WordPress无法写入磁盘”,“xxx上传失败”,“无法建立目录uploads”等。

    其实此类WordPress错误是最常见的错误,也是最容易解决的错误,只需通过FTP调整一些权限设置,或者情况WordPress临时文件,或者升级你的服务器,采取哪一种方案要视实际情况而定。

    1. 为什么会产生WordPress无法上传文件错误
    2. 如何修复WordPress无法上传文件错误

    为什么会产生WordPress无法上传文件错误

    在大多数情况下,WordPress无法上传文件的错误是由于网站的文件权限存在问题。作为安全措施,WordPress仅允许某些用户修改其文件,包括存储上传文件的文件夹。

    如果为此文件夹设置了权限,以防止用户对其进行修改或写入错误,那么上传就会失败。您可以使用WordPress自带的“站点健康状态”工具快速确定是否是这个原因导致。

    进入你的网站的WordPress仪表盘,进入“工具”>“站点健康”,然后单击“ 信息”选项卡,展开页面最后面的“文件系统权限”,展开查看详细信息:

    站点健康下的文件系统权限列表

    站点健康下的文件系统权限列表

    uploads目录应设置为可写。如果将其设置为不可写,则说明需要处理权限问题。

    此问题还有其他一些不太常见的原因。当您添加新的媒体文件时,WordPress会将其存储在一个临时文件夹中,然后再将其移动到上传到uploads目录。如果临时文件夹已满或不可用,则可能会看到“上传:无法将文件写入磁盘”错误。

    此外,如果你所使用的服务器当前已经占用了所有分配的磁盘空间,则可能会看到此错误。

    如何修复WordPress无法上传文件错误

    根据前面提到的产生此报错的可能原因,以下是解决此问题的三种解决方案。

    1. 更改上载目录的文件权限
    2. 清空WordPress临时文件夹
    3. 升级服务器以获得更多磁盘空间

    1.更改上载目录的文件权限

    如果WordPress上传文件错误是由于权限所致,则需要使用FTP进行修复。

    您需要在计算机上安装FTP客户端,例如FileZilla。然后使用你的服务器IP、用户名、密码和端口等凭证信息登录(一般登录到服务器提供商网站用户后台可以找到相关信息)。

    在FTP客户端中输入凭据,然后启动与服务器的连接。然后在/www/wwwroot/www.yourdomain.com/wp-content(常见的路径)中导航到您的上传目录:

    通过FileZilla访问uploads目录

    通过FileZilla访问uploads目录

    右键单击该文件夹,然后选择“文件权限”

    文件权限设置

    文件权限设置

    三位数字系统用于确定站点文件的权限设置。您的上传目录应设置为755:

    更改文件权限

    更改文件权限

    单击确定按钮以保存新的权限设置。然后返回您的WordPress网站。

    如果再次检查“站点健康”工具,则您的uploads文件夹现在状态应该为“ 可写”

    网站站点健康工具中的可写文件权限

    网站站点健康工具中的可写文件权限

    此时,您应该可以将文件上传到WordPress网站,而不会出现问题。

    如果你使用的是宝塔面板,修改uploads的文件夹权限就更简单了。

    登录你的宝塔面板后台,访问文件菜单,导航到/www/wwwroot/www.yourdomain.com/wp-content/,找到uploads文件目录,点击“权限”;

    宝塔面板文件管理

    宝塔面板文件管理

    将uploads文件目录的权限改为755权限即可。

    uploads上传目录权限设置

    uploads上传目录权限设置

    2.清空WordPress临时文件夹

    如果文件权限不是导致报错的原因,则可能要尝试清空WordPress用于将文件上传到您的网站的临时文件夹。不幸的是,您无法通过FTP访问该目录。

    相反,您需要联系托管服务提供商以帮助您完成此任务。技术团队应该能够访问您服务器上的该隐藏文件,并确定该文件是否已满,否则会导致“上载:无法将文件写入磁盘”错误。

    VPS主机用户应该自行检查下php.ini文件,找到upload_tmp_dir,改成如下:upload_tmp_dir = /tmp

    3.升级主机计划以访问更多磁盘空间

    您还可能已经用完了服务器提供的所有磁盘空间。如果您的站点放在虚拟主机上,随着时间的增长而发展,则这种情况尤其可能发生。

    大多数服务器提供商都会在线上的服务器管理中心列出您当前正在使用的磁盘空间。

    如果使用的是宝塔面板,查看当前磁盘使用情况也非常方便,登录宝塔面板在首页的仪表盘即可查看磁盘的使用情况,如下图:

    宝塔面板后台服务器仪表盘数据

    宝塔面板后台服务器仪表盘数据

    当然若你更喜欢使用SSH解决问题,也可以通过SSH连接服务器,使用free命令获取服务器磁盘数据。

    Xshell查看服务器磁盘占用情况

    Xshell查看服务器磁盘占用情况

    如果是因为磁盘空间占满导致问题的产生,那处理这个问题也很简单。无非就是:

    (1)清理服务器垃圾,比如陈旧的log日志、安装包等无效数据;

    (2)升级服务器配置,增加可用磁盘。

  • 为什么找不到WordPress网站的.htaccess文件

    无法在WordPress安装目录找到.htaccess文件?一些WordPress入门者经常问“ .htaccess文件在哪里?” 和“为什么在我的WordPress网站找不到它?”。

    有时我们可能需要编辑.htaccess文件或将其删除以修复常见的WordPress错误。在本文中,将解释为什么您无法在WordPress网站上找到.htaccess文件,以及如何找到该文件。

    findinghtaccessfile

    什么是.htaccess文件?

    .htaccess文件是服务器配置文件,该文件告诉服务器如何处理网站上的某些内容。例如URL重定向,使用密码保护管理员区保护某些目录等。

    该文件位于您的WordPress网站的根文件夹中。WordPress使用它来管理重定向和永久链接。

    .htaccess文件是一个功能非常强大的配置文件,可以用来做很多有用的事情。在本文我们不展开说明,后面有机会我们再来详细聊一下关于.htaccess的一些技巧。

    为什么找不到.htaccess文件?

    在网站的根文件夹中找不到.htaccess文件的两个常见原因:它要么被文件管理器软件隐藏,要么根本不存在。

    1. FTP客户端未显示隐藏文件

    htaccess文件名前面的点表示它是一个隐藏文件。默认情况下,当您使用FTP客户端连接到WordPress托管服务器时,不会显示隐藏文件。

    要使隐藏文件可见,您将需要更改FTP客户端设置。

    例如,在FileZilla中,您可以在“Server»Force showing hidden files”菜单下找到该选项,强制显示隐藏文件。

    showhiddenfiles

    FileZilla隐藏文件显示设置

    如果您在cPanel中使用“文件管理器”应用程序,那么在启动该应用程序之前应勾选显示隐藏文件的选项。

    cpanel-hiddenfiles

    cPanel隐藏文件设置

    对于其他FTP客户端,一般应用程序设置或首选项菜单中找到显示隐藏文件的选项。

    启用此选项后,您才能够查看WordPress网站的所有隐藏文件,包括.htaccess文件。

    注:如果你使用宝塔面板来管理网站文件,可能就不存在这个问题了,因为默认情况下,宝塔面板均显示.htaccess文件。

    2. .htaccess文件不存在

    找不到.htaccess文件的第二个最常见的原因是您的WordPress网站尚未生成该文件,又或者它就不应该存在。

    WordPress自动生成.htaccess文件,因为需要依赖该文件实现重定向永久链接

    如果WordPress根目录没有.htaccess文件,那么您可以进入WordPress仪表盘,访问“设置”»“固定链接”页面,不作任何更改,直接单击“保存更改”按钮。

    permalinks

    WordPress固定链接修改

    WordPress将尝试为生成.htaccess文件。

    在极少数情况下,由于文件权限问题,WordPress可能无法生成.htaccess文件。

    在这种情况下,它将在“设置”»“固定链接”页面底部显示一条消息,提示“ .htaccess文件不可写”。

    在这种情况下,将需要您手动创建.htaccess文件,并在其中添加所需的代码。

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    只需将上述代码复制并粘贴到文本编辑器(如记事本)中,将其另存为.htaccess文件在桌面上。

    然后,使用FTP客户端连接到网站服务器,上传.htaccess文件至WordPress根目录。

    如果上传文件时出错,则需要更改根目录的文件权限。

    假设您所有的WordPress文件都位于/home/johnsmith/public_html/目录下。

    public_html文件夹成为网站根目录。转到其父目录,然后右键单击public_html文件夹。选择File Permissions,打开文件权限对话框。

    在文件权限对话框中输入755,然后再尝试将.htaccess文件上传到public_html文件夹。

    ftpfilepermission

    服务器文件/文件夹权限设置

    当然,如果你的WordPress网站使用的是Nginx服务器,那你可以完全忽略上述的内容,因为Nginx是与Apache完全不一样的一个Web服务器了。

  • 如何修复WordPress错误-抱歉,由于安全原因,这个文件类型不受支持

    您是否曾经在WordPress中看到“抱歉, 由于安全原因, 这个文件类型不受支持(Sorry, this file type is not permitted for security reasons)”错误?

    上传WordPress中最常见的文件类型一般不会出现任何错误。但是,如果WordPress不支持文件类型,则可能会看到此错误。

    在本教程中,将会详细介绍如何轻松修复WordPress出现的“抱歉,由于安全原因,这个文件类型不受支持”错误。

    抱歉,由于安全原因,这个文件类型不受支持错误修复

    是什么原因导致“抱歉,由于安全原因,这个文件类型不受支持”错误?

    当您尝试上传WordPress不支持的文件类型时,会出现错误“抱歉,由于安全原因,这个文件类型不受支持”,注:如果是英文版本WordPress,则该报错显示为“Sorry, This File Type Is Not Permitted for Security Reasons”。

    WordPress文件类型报错提示

    出于安全原因,WordPress限制了通过WordPress管理员上传的文件类型。允许的文件类型包括所有常见的图像,视频,文档和音频格式。

    解决此问题的一种方法是通过FTP或WordPress服务器文件管理器上传文件。

    但是,此种方式不如使用内置的WordPress媒体库方便。

    那么,让我们看一下如何解决WordPress中的“抱歉,由于安全原因,这个文件类型不受支持”错误。

    检查并修复文件类型扩展名拼写

    如果上传常见文件类型而看到此错误,则可能是文件扩展名拼写错误。

    文件扩展名是3或4个字母的文件类型后缀。例如,图像文件可以命名为holidayphoto.png,其中holidayphoto是文件名,png是扩展名。

    这些扩展名被包括WordPress在内的许多程序和应用使用来识别文件类型。以下是WordPress支持的默认文件类型和扩展名:

    • 图片:.png, .gif, .jpg, .jpeg, .ico
    • 文件:.pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .pps, .ppsx, .odt, .psd
    • 音频:.wav, .mp3, .m4a, .ogg
    • 视频:.mp4, .m4v, .mpg, .mov, .wmv, .avi, .ogv, .3gp, .3g2

    提示:尽管可将视频上传到WordPress,但建议您将视频上传到视频分享站点。这有助于保护您的网站的速度和性能。

    看到此错误时,我们建议应首先检查文件扩展名以确保它是正确的。有时,在计算机上编辑或保存文件时,您可能会意外删除文件扩展名或键入错误的文件名。

    在Windows 10上,只需打开包含文件的文件夹,然后单击窗口顶部的“查看”,勾选“文件扩展名”框。

    查看Windows文件后缀

    选中该复选框后,您现在将在文件名后看到扩展名。

    Windows文件后缀名

    注意:这将显示计算机上所有文件的扩展名,而不仅仅是该文件夹中的文件。

    Mac用户可以通过打开Finder应用程序并从顶部菜单转到“Finder(访达)»Preferences(首选项)”来查看文件扩展名。

    查看Mac文件后缀

    这将弹出“首选项”弹出窗口,您需要在其中单击“高级”选项卡,并确保已选中“显示所有文件扩展名”选项旁边的框。

    现在您可以查看文件扩展名,找到您要上载的文件,并确保其具有正确的扩展名。

    如果扩展名不正确,则只需右键单击并选择“重命名”选项即可更改文件名并添加正确的扩展名。

    使用File Upload Types插件以实现WordPress支持新文件类型

    如果要上传WordPress不支持的文件类型,则可以利用第三方插件来实现。

    File Upload Types插件是修复“抱歉,由于安全原因,这个文件类型不受支持”错误的最简单的方法。

    首先,您需要安装并启用File Upload Types插件。

    启用后,在WordPress管理后台的的“设置”»“File Upload Types”页面。然后,在搜索框中输入文件类型。

    File Upload Types插件界面

    接下来,选中要启用的文件类型旁边的框,然后点击底部的“Save Settings”按钮以保存更改。

    开启文件类型支持

    现在,返回媒体库,添加此格式的文件上传就不会出现此错误消息。

    上传安全文件类型

    确保WordPress网站安全前提下启用其他文件类型支持

    WordPress不允许许多文件类型的原因是为了确保您的WordPress网站安全。

    启用其他文件类型时,强烈建议您采取一些安全措施来保护您的站点。比如:

    • 限制非注册用户,因此他们只能上载他们需要上载的文件类型。最好的方法是使用文件上传表单。
    • 使用WordPress安全插件监视您的网站是否存在漏洞。
    • 定期扫描WordPress网站以查找潜在的恶意代码。
    • 考虑限制上传文件的大小,以阻止用户上传可能包含恶意软件大文件。
    • 添加用户活动日志记录,记录哪个用户上传了哪个文件
  • 如何修复WordPress网站关于cURL错误

    错误类型:
    WP内部错误
    错误名称:
    REST API遇到了错误
    英文名称:
    cURL error 28
    错误描述:
    无法及时响应服务器的数据请求会导致WordPress中出现“cURL error 28”报错。

    “cURL error 28” 是常见的WordPress REST API问题,可能会影响网站的性能,并可能导致网站运行异常。

    在本教程中,将详细介绍如何解决WordPress网站上的“cURL error 28: Connection timed out”问题。

    cURL error 28

    WordPress的cURL是什么?

    cURL是WordPress和许多其他Web应用使用的软件实用工具,用于使用URL发送和接收数据请求。

    WordPress使用cURL处理多个API请求。它可以作为PHP编程语言的扩展使用,WordPress托管服务会为此提供帮助。

    cURL库在WordPress后台工作中起着至关重要的作用。如果未正确配置,则WordPress网站将无法正常运行。

    什么导致WordPress发生“cURL error 28”?

    无法及时响应服务器的数据请求会导致WordPress中出现“cURL error 28”报错。

    WordPress使用REST API(一种编程技术)来发送和接收数据请求。如果这些请求超时,那么您将在“站点运行状况”报告中将其视为标题为“REST API遇到了错误”的关键问题。

    “cURL error 28”报错

    如果你展开该问题可以查看更多详细信息,包括错误消息:

    Error: cURL error 28: Operation timed out after x milliseconds with x bytes received (http_request_failed)

    您可能还会看到标题为“您的站点不能完成环回请求”的另一个相关问题。它将显示类似的错误消息,具体描述如下。

    “到您站点的环回请求失败,这意味着依赖此种请求的功能将不能正常工作。”

    什么可能导致cURL超时?

    许多情况可能导致WordPress发生cURL超时。

    例如,WordPress防火墙插件可能会将其视为可疑活动而阻止REST API请求。

    如果您的DNS服务器无法正常工作,则这也可能导致HTTP请求失败并导致WordPress出现cURL超时错误。

    WordPress托管服务器配置不当-设置较低超时阈值,这也可能会阻止某些WordPress进程正常运行。

    既然我们大致知道导致cURL错误的原因,那么要解决话“curl error 28: Connection timed out”问题就不应该是一件难事了。

    1. 暂时禁用WordPress防火墙

    如果安装了WordPress防火墙或安全插件,可以暂时将其停用。

    禁用WordPress防火墙

    然后,访问WordPress网站后台-工具-站点健康,查看问题是否已解决。

    如果发现问题已解决,则需要检查WordPress防火墙日志以查看哪些API请求已被阻止。

    以帮助您确定问题的根源,进一步调整防火墙设置以不阻止合法的API请求。

    2. 禁用所有WordPress插件

    WordPress插件自身产生API请求以发送和接收数据。如果这些调用过于频繁或耗时太长才能完成,则可能会导致站点健康中出现cURL错误。

    解决此问题的最简单方法是停用所有WordPress插件。只需转到“插件»已安装插件”页面,然后勾选所有插件。

    禁用所有WordPress插件

    之后,点击批量操作下拉菜单选择“禁用”,然后点击“应用”按钮。

    再次访问“站点健康”报告,以查看问题是否已消失。如果这解决了问题,那么您可以尝试逐个启用插件,直到问题再次出现,即可找到问题插件。

    联系插件开发者解决问题,又或者使用替代品。

    3. 确保服务器正在使用最新版本软件

    下一步是确保WordPress服务器使用最新版本的PHP,cURL库和OpenSSL。

    您可以通过查看“工具”»“站点健康”页面下的系统信息选项卡来进行检查。

    站点健康

    只需切换到“信息”标签,然后展开“服务器”部分。即可获取有关WordPress服务器上安装的软件的信息。

    WordPress服务器信息

    理想情况下,服务器应使用PHP 7.4.13或更高版本,curl 7.74.0或更高版本以及OpenSSL 1.1.1或更高版本。

    如果没有,那么自行进行版本升级或者联系服务器提供商城升级。注:VPS服务器一般可以自行进行升级操作,虚拟主机则可能要依赖服务器提供商。

    4. 修复SSL不安全内容问题

    如果您的WordPress网站使用HTTPS/SSL,但配置不正确,这也可能导致Web服务器阻止不安全的cURL请求。

    同样,如果WordPress网站未使用HTTPS/SSL,但是使用HTTPs URL进行了API调用,那么这些请求也会失败,并且您可能会看到以下cURL错误:

    Error: cURL error 7: Failed to connect to localhost port 443: Connection refused (http_request_failed)

    cURL error 7

    要解决此问题,您可以要求托管服务提供商或者自行为您的网站重新安装SSL证书。如果问题仍然存在,进一步查看常见的SSL问题,正确设置网站SSL。

    5.向服务器提供商寻求帮助

    如果上述步骤未能解决WordPress网站上的cURL错误28,则该问题很可能是服务器环境问题。

    有许多因素只能由服务器提供商控制和修复。例如,如果其DNS服务器无法及时解析请求,则这将导致cURL请求超时。

    另一种情况可能是主机服务器的连接速度慢或网络问题。

    只需向他们发送带有错误详细信息的支持请求,他们的技术人员就可以进行故障排除并应用修复程序来解决。

  • 如何修复WordPress网站语法错误Syntax Errors

    错误类型:
    WP内部错误
    错误名称:
    语法错误
    英文名称:
    Syntax Errors
    错误描述:
    这可能包括语法错误,拼写错误单词或缺少符号或网站代码中的标点符号不正确。在WordPress中,这通常是PHP错误。

    355100a2-b2c2-4dd2-8652-149410a27cee_WP20Syntax20Error-750x498-1

    如果您是因为您的WordPress网站出现了语法错误信息找到了这篇文章。那是件万幸的事情,因为本文将详细介绍解决WordPress网站发生Syntax Errors的方法。

    当网站出现Syntax Errors,不用着急,一般不是什么大问题。问题可能很简单,就像PHP文件中缺少分号一样。WordPress语法错误并不常见,但确实会发生,并且相对容易纠正。

    在本文中,我们将解释什么是Syntax Errors(语法错误)以及一些常见原因。然后,我们将引导您完成查找和修复错误的步骤。让我们开始吧!

    什么是Syntax Errors?

    Syntax Errors的出现,一般发生在命令不被正确地写入时。

    01bd74c1-4514-490e-a1e5-face6c0f98f3_dh-syntax-errors-wp-3

    这可能包括语法错误,拼写错误单词或缺少符号或网站代码中的标点符号不正确。在WordPress中,这通常是PHP错误。

    WordPress中语法错误的常见原因

    错误粘贴代码后,可能会发生语法错误。也许您在复制代码时错过了一部分,或者在脚本末尾有一个额外的结束标记。

    这是一个PHP开始标记:<?php,这是一个封闭标记:?>

    当您复制并粘贴PHP代码段时,它通常包含开始标记,从而导致语法错误。由于您可能会将代码段粘贴到现有代码中,因此不需要包括开始标记。

    在WordPress主题编辑器中编辑主题时,您可能还会收到语法错误。如果发生这种情况,您通常会知道问题出在哪里,或者至少知道问题出在哪里。如果不确定,请不要担心。您可以通过对wp-config.php 文件进行一些更改来找到错误。

    您可能会看到此消息的另一个原因是由于插件的更新或安装。该扩展程序可能与您的WordPress版本不兼容,或者可能存在其他问题。如果您是 在发生错误时更新或安装插件的,则很可能是问题的根源。

    为什么要修复WordPress语法错误问题

    语法错误表示您的网站代码中存在某些错误。此问题可能会导致网站无法打开,空白页或页面提示错误消息。

    如果您的网站关闭或无法访问,则显然会影响用户体验(UX)。除了损失流量和转化率之外,空白的页面还会影响网站的搜索引擎优化 (SEO)排名。

    WordPress语法错误消息可能会引起关注,特别是如果您不熟悉网站代码。幸运的是,您将看到,大多数语法错误都有一个简单的解决方案。

    如何通过SFTP修复WordPress语法错误

    发生语法错误时,可以通过删除或更正包含该错误的代码来对其进行修复。无论哪种方式,您都需要访问发生问题的文件。如果您无法WordPress管理控制台,则可以使用文件传输协议(FTP)客户端进行访问。

    如果您是宝塔面板的用户,则就更加简单了。无需下载第三方应用程序,直接登录你的WordPress网站的服务器的宝塔控制后台即可访问您的网站文件。

    宝塔控制面板

    如果您不是宝塔用户或者你没有可直接访问WordPress网站文件的后台,那就可以使用FTP客户端,则FileZilla 是一个不错的选择。请注意,应使用更安全的安全文件传输协议(SFTP)而非FTP进行连接。这将确保传输的数据被加密。

    您将需要一些信息以通过SFTP连接到您的网站:

    • 服务器/主机名
    • 用户名
    • 密码
    • 端口

    接下来,打开您的FTP客户端并输入您的登录凭据。登录后,在WordPress网站目录下,您将看到wp-admin, wp-content和wp-includes文件夹以及其他文件列表。

    cd594e46-6e3a-40ca-ac87-beb3749f9546_dh-syntax-errors-wp-4

    如果您的界面看起来与上面的示例相似,那么您来对地方了!下面是具体的操作,启用调试功能以获取有关语法错误的更多信息了。

    启用调试以查看语法错误位置

    如果发生错误时正在网站上工作,则应该对在何处查找问题有个好主意。但是,如果不确定,则无需猜测。调试将向您显示错误的确切位置。

    启用调试,您可以将以下代码片段添加到wp-config.php 文件中:

    define(‘WP_DEBUG’true);
    define(’WP_DEBUG’,true);
    define('WP_DEBUG',true);

    确保将代码放在/ *之前,* /指向文件底部。

    修复语法错误后,请务必禁用调试,因为对于线上的网站,建议不要启用此功能。

    5ca512f3-ed1d-47fe-9186-15bb75ea158d_dh-syntax-errors-wp-1

    保存文件并在浏览器中刷新网站后,您应该会看到一个文本字符串,指示错误的位置,包括文件,名称和行号。

    77e5a1aa-29bc-49d6-b609-129ba8efbe9d_dh-syntax-errors-wp-6

    现在找到语法错​​误。注意到这些信息之后,该开始修复它了。您可以使用以下说明根据错误的位置来解决错误。

    修复由插件更新引起的语法错误

    如果在安装、更新或编辑插件文件时,发生语法错误,则最简单,最快的解决方案是禁用插件。那就是我们首先要做的。

    通过SFTP访问您的网站。建立连接后,转到wp-content/plugins 目录,然后找到出现错误的plugin文件夹。

    在此位置,您可以禁用该插件或更正包含该错误的文件-如果您知道导致问题的原因。如果没有,您可以通过重命名插件目录中的文件夹来禁用该插件。

    如果您转到网站的URL并刷新浏览器,则您的网站应显示为正常。但是,如果您想继续使用该插件,则需要解决该错误,而不是简单地将其禁用。

    要修复插件错误,请从错误消息中找到文件和行号。识别该行上所有丢失或不正确的代码。如果不确定导致错误的原因,可以将代码段粘贴到代码编辑器中以帮助您识别它。

    您始终可以禁用该插件作为短期解决方案。一旦错误得到纠正,您可以再将其重新启用。这可能是最好的方法,特别是如果插件对于您网站的运行不是必不可少的时候。

    修复因不正确编辑主题文件而导致的语法错误

    要修复在编辑主题时发生的语法错误,请通过SFTP访问您的网站,然后导航到wp-content/themes 文件夹。打开对应的主题文件夹,然后找到出现错误的文件-通常是functions.php 文件。

    编辑文件并更正错误。同样,语法错误代码应显示行号。如果在将代码段粘贴到文件中时出现问题,请删除您的修改以将文件还原到稳定版本。

    如果看不到是什么原因导致的问题,则可以使用代码编辑器来帮助识别错误。解决问题后,打开浏览器窗口,然后导航到URL以验证您的站点已重新启动并运行。

    使用代码编辑器识别语法错误

    有几种免费的在线代码编辑器,例如Sublime Text 和Atom。您可以使用任何这些工具来帮助诊断和修复语法错误。

    在下面的插图中,functions.php文件在最后一行缺少分号。

    a319c29d-57ce-4d26-bf1b-9ca20815f37f_dh-syntax-errors-wp-5

    编辑器用行号旁边的黄色条指示语法错误(610)。添加分号后,错误就解决了,黄色标记消失了。您可以练习在编辑器中编写或编辑代码,然后再更改网站文件。

    如何避免WordPress发生语法错误

    使用正确的语法可以帮助您避免将来出现错误。PHP是一种简单,灵活的语言。您可以花一点时间来学习基础知识。然后,当您粘贴代码或对站点文件进行编辑时,您将知道如何在工作时纠正错误。

    作为另一种选择,您可以在将代码粘贴到您的网站之前,方便代码编辑器检查语法。这是一种明智的做法,可确保在将代码段添加到实时站点的文件之前,确保代码段正确。

    防止问题的另一种方法是在对网站进行更改时启用调试,以便在上线之前标记错误。是时候确保所有内容都与您的WordPress核心文件兼容并且可以正常工作了。

    最后,我们建议删除所有未使用的插件和主题。这不仅可以防止语法错误,而且是一种很好的安全措施,因此是双赢的。

    小结

    几乎所有网站的40%都是基于WordPress构建的,使其成为世界上最受欢迎的内容管理系统 (CMS)。这是一个稳定且安全的平台,但是即使如此,错误仍然可能发生。

    在本文中,我们解释了什么是语法错误及其最常见的原因,修复WordPress的语法错误问题。这些通常很容易解决,但是最好采取措施防止问题首先出现,例如在添加到您的站点之前使用代码编辑器检查代码。

    正确维护网站是避免出现问题并保持其平稳运行的最佳方法之一。

  • 如何修复WordPress网站提示’The Invalid JSON Error’错误

    错误类型:
    其他错误
    错误名称:
    无效JSON错误
    英文名称:
    The Invalid JSON Error
    错误描述:
    无法从服务器接收到预期的响应会导致WordPress发生 ‘Not a Valid JSON Response’ 错误。

    在WordPress网站上编辑文章或页面时,你是否曾经遭遇过 ‘The response is not a valid JSON response’ 这样的错误。

    在本教程中,我们将详细说明如何修复WordPress中的无效JSON错误。我们还将讨论为什么会发生此错误,以及将来如何避免该错误。

    如何修复无效JSON错误

    什么导致WordPress出现 ‘Not a Valid JSON Response’ 错误?

    无法从服务器接收到预期的响应会导致WordPress发生 ‘Not a Valid JSON Response’ 错误。

    基本上,WordPress在编辑博客文章时需要与服务器通信。它依赖于在后台从Web托管服务器获取响应。此响应通常采用JSON格式,该格式用于使用JavaScript快速传输数据。

    如果由于某种原因,WordPress无法获取响应,或者响应不是JSON格式,那么您将看到 ‘Not a Valid JSON Response’ 错误,如下图所示。

    无效JSON错误提示

    出现此错误的原因有很多。但是,最有可能的原因是WordPress中的网址设置不正确或固定链接失效。

    下面让我们一起看看应该如何修复WordPress所出现的无效JSON错误。

    重要提示:在对网站进行更改前,请进行执行WordPress备份。以防出现问题,可快速将网站还原到以前的状态。

    1.检查WordPress的链接设置

    首先,您需要确保WordPress地址和站点地址设置正确。

    转到设置»常规页面。即可查看WordPress地址(URL)和站点地址(URL)字段。

    WordPress链接设置

    对于大多数网站,此设置的两个字段应该对应相同的URL。

    但是,也有少部分站长给WordPress设置指定的目录,并在其他地址上为网站提供服务。在这种情况下,两个URL地址可能不同。

    但是,如果站点地址不正确,这会导致WordPress触发无效的JSON错误。

    如果是因为WordPress地址和站点地址设置错误问题,修正并保存更改后。再次编辑博客文章,查看是否添加任何新区块或保存该文章,看是否会触发 ‘Not a Valid JSON Response’ 错误。

    如果仍然看到错误,请往下看。

    2.修复WordPress固定链接结构

    WordPress带有SEO友好的URL结构,这样对文章和页面使用人类可读的URL。

    但是,有时用户可能会弄​​乱固定链接设置。这可能导致WordPress编辑器无法获得有效的JSON响应并导致显示错误。

    要解决此问题,您只需访问设置»固定链接页面。在这里,您需要仔细查看固定链接选项。

    WordPress固定链接设置

    如果不确定是否使用正确的设置,则只需选择可用的默认格式之一。

    之后,继续并单击“保存更改”以存储您的设置。

    然后尝试编辑博客文章或页面,以查看错误是否已消失。如果还没有,那么尝试下一步。

    3.重新生成htaccess文件

    WordPress中的.htaccess文件用作配置文件,用于管理SEO友好的URL(固定链接)。

    通常,WordPress可以自动重新生成和更新它。您还可以通过单击“设置”»“固定链接”页面底部的保存更改”按钮来触发该更新。

    但是,有时它可能无法更新或设置不正确。这会影响您的WordPress固定链接,还可能导致无效的JSON响应错误。

    要解决此问题,您需要使用FTP客户端或WordPress托管帐户信息中心中的文件管理器应用程序连接到您的网站。

    连接后,您需要在网站的根文件夹中找到.htaccess文件,并将其下载到本地计算机。

    FTP下载htaccess

    提示:无法找到.htaccess文件?参考如何查找.htaccess文件这篇文章。

    之后,您需要使用FTP客户端或文件管理器应用编辑.htaccess文件。

    编辑htaccess

    打开文件后,替换为以下代码:

    # BEGIN WordPress
    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]
    # END WordPress
    # BEGIN WordPress
    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]
    # END WordPress
    # BEGIN WordPress 
    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] 
    # END WordPress

    保存更改后并将文件上传回网站服务器文件原来的位置。

    再次访问您的网站并编辑和发布页面,以查看是否可以重现无效的JSON响应错误。

    如果仍然看到错误,则可以采取下面其他一些步骤。

    4.查看Rest API调试日志

    无效的JSON响应错误也可能意味着WordPress的REST API遇到错误。

    REST API是当您在网站上工作时WordPress用于与服务器通信的一组技术。

    您可以在WordPress网站运行状况工具中查看此错误的详细信息。访问工具»站点健康页面。

    站点健康REST API意外错误信息

    在此处,您可能会看到一个标记为 ‘The REST API encountered an unexpected result’ 的问题。

    单击问题将会显示更多详细信息,这可能会给您一些提示,指出哪些插件或第三方服务可能会导致此问题。

    如果没有提供任何线索,则可以继续进行下一步。

    5.停用所有WordPress插件

    有时,WordPress插件可能彼此冲突或与WordPress核心冲突。这可能会导致意外行为,并且可能是无效JSON错误的潜在原因。

    只需转到“插件»已安装插件”页面。在这里,选择所有WordPress插件,然后在“批量操作”下拉菜单下选择“停用”,单击“应用”按钮继续。

    WordPress插件停用

    WordPress现在将停用所有已安装的插件。

    如果错误消失,则表明您网站上安装的一个插件引起了该错误。

    要弄清楚哪个插件,您需要一个个地启用,然后尝试重现该错误。重复此过程,直到找到罪魁祸首。

    之后,您可以与插件作者联系以获得支持或找到其他插件。

    6.临时切换到经典编辑器

    如果上述所有步骤均失败,则可以暂时切换到WordPress的经典编辑器。

    较旧的WordPress编辑器版本使用更简单的文本编辑器,并且不严重依赖REST API来获取JSON响应。

    要使用它,您需要安装并启用Classic Editor插件。

    该插件开箱即用,启用后将禁用Gutenberg编辑器。

    现在,您可以继续在网站上工作,稍后再返回故障排除。

    7.进一步故障排除

    许多事情会阻止WordPress REST API或使其返回无效的JSON响应。我们已经解决了上面最可能的问题,但是,如果这不能解决您的问题,那么您可以尝试其他一些步骤。

    切换到WordPress默认主题

    有时,您的WordPress主题与插件或WordPress核心之间的冲突可能会导致意外行为。

    您可以通过简单地切换到默认的WordPress主题(例如TwentyTwentyOne或Twenty-Twenty)来进行测试。

    暂时关闭网站应用程序防火墙

    如果您使用了Sucuri,Cloudflare或插件之类的WordPress防火墙,则它们有时也可能会阻止合法请求。

    解决此问题的最简单方法是暂时禁用WordPress防火墙插件或服务。

    只需停用插件即可禁用某些应用程序级WordPress防火墙。对于Sucuri和Cloudflare等DNS级别的防火墙,您可以从帐户仪表板中将其禁用。

    启用WordPress调试

    WordPress内置debug功能,可让您记录错误日志。但是,默认情况下未启用它。

    要打开它,您需要将以下代码添加到wp-config.php文件中:

    define( ‘WP_DEBUG’, true );
    define( ‘WP_DEBUG_LOG’, true );
    define( ‘WP_DEBUG’, true );
    define( ‘WP_DEBUG_LOG’, true );
    define( 'WP_DEBUG', true ); 
    define( 'WP_DEBUG_LOG', true );

    之后,WordPress会将所有错误的日志保存在/wp-content/文件夹中的debug.log文件中。您可以使用FTP客户端访问此文件。

    错误日志可能会为您提供有关导致网站上无效JSON错误的原因线索。

    寻求专家帮助

    最后,如果其他所有方法均失败,则可能是由于WordPress服务器配置错误。一些可靠的WordPress网站服务器托管公司可能会帮助用户解决诸如此类的常见WordPress问题。

    只需通过实时聊天或支持工单与他们联系,他们便可以帮助您解决问题。

    我们希望本教程能帮助您学习如何修复WordPress所出现的无效JSON错误。

  • 如何将WordPress网站404页面重定向至首页

    部分站长可能会希望直接将404页面重定向到WordPress主页。将404未找到页面重定向到网站的主页有助于降低跳出率,并可能帮助用户在您的网站上发现其他有用的内容。

    在本教程中,将向您展示如何在WordPress中将404页面重定向到主页。

    redirect-404-page-home-age-wordpress-opengraph

    为什么要将404页面重定向到WordPress主页?

    如果您没有时间创建自定义404页面,那么将访问者重定向到主页可能是一个很好的解决方案。

    当用户请求您的WordPress网站上不存在的页面时,WordPress会改为向他们显示404错误页面。

    default-404-page-example

    大多数登陆默认404页面的用户会很快离开您的网站。这会增加您的整体跳出率并对您的搜索引擎排名产生负面影响。

    保持用户参与的一种方法是将他们重定向到另一个更相关的页面。一些网站所有者选择采取快捷方式并将用户重定向到主页。

    在理想情况下,您会将特定的404错误请求重定向到更相关的页面。

    下面我们介绍将404页面重定向到主页以及WordPress中的自定义页面的方法。

    方法 1:将所有404页面重定向到WordPress主页

    此方法使用一个简单的代码片段将所有404页面重定向到主页。如果您想了解如何将单个404页面重定向到更相关的页面,请参阅本文中的方法 2。

    在此方法中,您需要将代码添加到WordPress文件中。

    首先,您需要在WordPress主题文件夹中创建一个新文件并将其命名为404.php。如果您的主题已经有一个404.php文件,那么您需要改为编辑该文件。

    要编辑此文件,您需要使用FTP客户端或其文件管理器工具连接到WordPress服务器。

    ftp-404-php-file

    连接到您的网站后,您将能够在 WordPress 主题文件夹中看到404.php文件。

    您需要在404.php文件的第一行添加以下代码:

    <?php
    header(“HTTP/1.1 301 Moved Permanently”);
    header(“Location: “.get_bloginfo(‘url’));
    exit();
    ?>
    <?php
    header(“HTTP/1.1 301 Moved Permanently”);
    header(“Location: “.get_bloginfo(‘url’));
    exit();
    ?>
    <?php
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: ".get_bloginfo('url'));
    exit();
    ?>

    接下来,您需要保存404.php文件并使用FTP或主机控制面板将其重新上传到您的主题目录。

    现在,当找不到页面时,它们将被重定向到您的WordPress主页,而不是显示404页面。

    方法 2:使用AIOSEO插件设置自定义404页面重定向

    处理404错误的最佳和对SEO最友好的方式是将它们重定向到最相关的页面,而不是直接指向主页。

    这就是All in One SEO插件的用武之地,该插件曾经是WordPress的最佳SEO插件,已被超过200万个网站使用。

    他们的重定向功能可以跟踪所有404页面错误,并支持在WordPress中设置404页面智能重定向。

    首先你需要安装并启用AIOSEO。(注: All in One SEO有一个免费版本,专业版才能够使用重定向功能。)

    启用插件后,您需要转到“All in One SEO » Redirects”。如果您尚未设置重定向,则需要单击“Activate Redirects”按钮。

    aioseo-activate-redirects

    完成后,您需要单击“Settings”菜单项并启用404日志。

    接下来,向下滚动直到看到“Logs”部分,然后单击“404 Logs”切换按钮,使其变为蓝色。

    turn-on-404-logs

    您的404日志记录了访客试图访问您网站上不再存在的页面的URL。

    您可以通过从下拉菜单中选择时间段来选择希望插件记录日志的时间。

    确保在继续之前单击“Save Changes”。

    之后,单击“404 Logs”菜单选项以查看上次访问的404页面。请记住,由于您刚刚启用了日志记录,因此它可能不会立即显示任何内容。建议24小时后再查看更多有用的见解。

    404-logs-menu-option

    “URL”列将显示用户尝试访问的404 页面。您需要单击“Redirect”列中的“Add Redirect”链接。

    这将创建一个下拉列表,您可以在其中输入重定向信息。

    为获得最佳结果,您需要在“Target URL”框中输入与原始查询最相关的页面,然后单击“Add Redirect”。

    add-home-page-redirect

    例如,如果您有一个关于如何处理WordPress网站404状态死链的教程,但您删除并更新了一个新文章,那么最好将该旧URL重定向到新文章而不是您的主页。

    要添加多个 404 页面重定向,只需执行与上述相同的步骤。

    请记住,通常您不希望永远将404页面重定向到网站主页。这是一个很好的临时解决方案,直到您创建一个自定义404页面,以便更好地转换或简单地将用户重定向到更相关的页面。

    我们希望本教程能帮助学会如何在WordPress中重定向404页面。当然你也可以安装我们的SEO插件来监控失效404错误链接及失效链接。

  • 如何解决WordPress主题或者插件安装时提示 “目标目录已存在”报错

    错误类型:
    WP内部错误
    错误名称:
    目标目录已存在
    英文名称:
    destination folder already exists
    错误描述:
    简而言之,当您执行应该创建文件夹的操作时,WordPress会显示此错误,WordPress系统检测到文件结构中已存在具有完全相同路径的文件夹。

    00a-Destination-Folder-Already-Exists

    WordPress在安装主题或者插件时可能会遭遇“目标目录已存在”报错,但是实际这个目录并不存在。或者更确切地说,它不应该产生这样的错误。

    不过这个错误修复起来也非常简单,具体如下:

    是什么导致WordPress错误-“目标目录已存在”

    简而言之,当您执行应该创建文件夹的操作时,WordPress会显示此错误,WordPress系统检测到文件结构中已存在具有完全相同路径的文件夹。在这些情况下,WP提醒您而不是直接覆盖任何内容是一件好事。否则,可能存在丢失数据和网站崩溃的情况。

    001-Destination-Folder-Already-Exists

    幸运的是,随着时间的推移,WordPress本身已经变得更擅长处理这个错误。它为您提供了它出现的原因以及修复它的几个选项。如上所示,最常见的原因是该插件已安装。此外,您还可以在上传和调整主题文件时显示相似的界面。

    您可能出于多种原因上传插件或主题的第二个实例,最常见的原因之一就是更新已下载插件的版本。(请注意,如果您使用FTP替换过时的插件,这样的报错信息是不存在的。)

    您可能会看到此错误的其他原因包括之前尝试安装插件或主题但过程失败。在这种情况下,WordPress会在进程完成之前创建该文件夹,但在进程中断时没有理由删除它或其他文件。卸载插件或主题时也可能发生同样的事情。有时文件会被遗忘。当您尝试重新安装或更新时,WordPress会告诉您“文件或者文件目录已经存在”。

    就我个人而言,最常见的一种是不小心双击安装按钮,WordPress以此为指令启动进程并创建文件夹,中断进程,然后重新启动进程才发现目标文件目录已存在。

    尽管所有这些都很烦人,但您可以毫不费力地修复错误。因此,让我们深入研究并清除这些文件夹。

    如何修复WordPress错误-“目标目录已存在”

    首先,备份您的网站。每当您需要处理站点的文件时,明智的做法是立即备份,以便在出现问题时可以恢复。

    快速修复按钮

    绕过“目标文件目录已存在”错误的最简单方法是在消息弹出时“使用上传版本替换当前版本”按钮。这样做将覆盖任何现有的文件和文件夹,像往常一样完成安装。

     

    004-Destination-Folder-Already-Exists

    手动修复

    如果您更喜欢动手操作,则需要通过FTP或托管仪表盘的文件管理器连接到您网站的服务器。连接后,您将需要找到站点的插件/主题文件夹。对于大多数虚拟主机(不同服务器不尽相同),路径一般是 /public_html/wp-content/themes (或 /plugins)

     

    002-Destination-Folder-Already-Exists

    导航到插件主题目录并找到WordPress有问题的文件夹。如果需要,您可以下载文件夹和任何文件作为备份,但这是可选的,因为无论如何它们都是额外的。您可能不需要它们,但是无论何时您从服务器上取下文件,最好将它们保留以备不时之需。

    003-Destination-Folder-Already-Exists

    使用FTP或文件管理器,您可以调出右键单击上下文菜单。此时,您可以做两件事。第一种是简单地删除文件夹和任何内容。这将消除使WordPress说目标文件目录已存在的命名差异。毕竟,它将不复存在。

    您还可以选择重命名文件夹(或将其移至别处)。这样可以保存所有遗留下来的文件,以备不时之需。需要它们的可能性很小,但这是一种无需备份即可备份它们的方法。

    完成后,您可以放心地将插件或主题文件安全地上传到目录中。您还可以返回WordPress仪表盘并从那里继续上传和安装过程。但是,您不想同时执行这两项操作。这可能会从WordPress返回相同的“目标文件目录已存在”错误消息。

    但是,如果是这种情况,您可以随时点击“使用上传版本替换当前版本”按钮,它只会覆盖那里的任何内容。无论哪种方式,此时“目标文件目录已存在”错误都应该消失。

    小结

    WordPress开发人员通过在错误页面上为用户提供“使用上传版本替换当前版本”按钮,使修复此错误变得更加容易 。然而,并不是每个人都想使用自动修复,对于这些人来说,通过FTP或通过文件管理器进行连接几乎同样简单。只需找到有问题的文件夹,删除/重命名/转移,然后再次尝试上传。

  • 如何修复WordPress混合内容错误Mixed Content Error

    错误类型:
    浏览器错误
    错误名称:
    混合内容错误
    英文名称:
    Mixed Content Error
    错误描述:
    从本质上讲,混合内容错误是指您的WordPress站点通过HTTPS安全地提供一些资源,又通过HTTP不安全地提供一些资源。有时,这些混合内容的一部分甚至不会显示出来,从而导致网站以多种方式出现故障。

    000-mixed-content-error

    如今大部分网站的连接都是通过SSL证书完成的,如果你的站点还没配置https,建议也参照“WordPress网站免费SSL证书申请及配置教程”配置一个。

    大多数网络主机提供免费的Let’s Encrypt证书和更新,只需点击几下即可安装。但是,在设置SSL时,混合内容是一个常见问题,虽然不是什么大问题,但我们也需要尽快修复WordPress中的混合内容错误以保证网站完全安全。

    什么是WordPress混合内容错误?

    从本质上讲,混合内容错误是指您的WordPress站点通过HTTPS安全地提供一些资源,又通过HTTP不安全地提供一些资源。有时,这些混合内容的一部分甚至不会显示出来,从而导致网站以多种方式出现故障。并且存在多个不利的影响:

    首先是搜索引擎惩罚它认为不安全的任何站点,并且会在用户点击进入站点时发出警告,提醒访客“您与此网站之间建立的连接不安全”。试想想,有多少个访客愿意冒险继续访问此网站。

    其次是谷歌和其他搜索引擎会在排名中惩罚你的网站,因为你的网站不安全,可能包含恶意软件,而且用户体验很差,内容根本没有加载。

    加上WordPress网站上的混合内容错误会严重影响加载时间,这就使得网站的用户体验变得糟糕。

    那么您如何防止这种情况发生并使您的网站成为搜索引擎和访客都不受欢迎的一员呢?

    如何使用插件修复WordPress中的混合内容错误

    修复WordPress混合内容错误实际上相对简单。由于平台的定制化和灵活性,插件开发人员基本上已经解决了您可能遇到的任何问题。你只需要知道在哪里搜索。对于大多数站点来说,能够快速安装和配置插件是最好的解决方案。

    001-Insecure-Content

    推荐WebAware开发的SSL Insecure Content Fixer插件。只需安装和启用插件就可以修复WordPress网站上显示的任何混合内容错误。正如WordPress.org插件描述所说,“使用简单修复级别对您的网站进行一些基本修复。” 如果您需要更多,该插件提供更高级的设置页面,您可以在其中调整需要保护的内容。

    您可以在WP管理面板菜单中的设置 – SSL Insecure Content下找到设置 。请注意, 已启用简单选择。

    002-Insecure-Content

    大多数时候,这是有效的。为了确保它正常工作,我们强烈建议在GT MetrixPingdom上运行页面速度测试(或此前推荐的15个网站速度测试工具的任意一个)。虽然这些测试本身非常棒,可以帮助识别您网站上的错误,但它们都报告不安全/混合内容。因此,如果您确实有任何问题,其中一位会告诉您。

    使用这个插件修复了除Capture All之外的所有错误 。根据经验,自动修复的AJAX调用往往会破坏站点功能。但是,其他每个选项都修复了GT Metrix或Pingdom发现的任何问题。

    使用SSL Insecure Content Fixer等插件的最大问题是,如果您停用该插件,则混合内容修复程序也有可能停用。如果这对您来说是一个潜在的问题,我们也有解决方案。

    如何手动修复WordPress混合内容错误

    与任何其他主要网络应用程序一样,WordPress 实际上只是服务器上的一个数据库。如果该数据库中的资源仍被标记为 HTTP 并且浏览器正在调用 HTTPS……这是一个混合内容错误。幸运的是,您也可以手动执行一些非常简单的修复。

    在您的WP数据库中查找和替换

    虽然这也涉及插件,但它仅用于实际功能,之后可以禁用。在WP.org插件市场上找到Better Search Replace插件。

    004-Insecure-Content

    005-Insecure-Content

    在 工具 – Better Search Replace 下(1),您将搜索域名的不安全实例并将其替换为 HTTPS 版本。在Search for输入 HTTP://yourdomain.com 和Replace with输入HTTPS://yourdomain.com

    然后,选择要包括在搜索中的数据库表。一般来说,这将是所有这些。因此,单击顶部,滚动到底部,然后按住 Shift 键并单击最后一个。这将突出显示列表(3)中的所有表。

    我们建议启用 Run as Dry Run 选项。这样做将使插件执行所有操作,但实际上不会保存更改。它会报告它发现的任何东西。

    006-Insecure-Content

    如果发现一切都OK,取消选中试运行框运行搜索并替换。但是,在此之前,我们强烈建议备份您的站点和数据库。任何时候你需要对数据库进行修改操作,务必先做备份工作。损坏或处理不当的数据库是所有WordPress中最难修复的事情之一。

    您也可以通过托管仪表板中的phpMyAdmin执行相同的过程,但它没有试运行功能,并且需要更多的技术知识来实施。对于大部分站长来说,我们更建议使用插件方法。

    更改 .htaccess 文件

    您网站的 .htaccess文件负责引导流量并允许访问您网站的元素。您可以通过使用 FileZilla(或其他 FTP 客户端)或从主机的仪表盘文件管理器中向.htaccess文件添加几行来强制对站点资源使用HTTPS  。

    基本上,您将使用 .htaccess进行重定向,因此您现有的内容不会继续通过 HTTP 加载。

    为此,请导航到/public_html 或 根 目录并在其中查找 .htaccess 文件。右键单击它并选择允许您编辑文件的选项,如果您使用的是 FTP,它将使用您的默认文本编辑器或集成编辑器(如果您使用主机的仪表板)打开文件。

    007-Insecure-Content

    复制粘贴以下代码行至</IfModule>标记和#END WordPress行之间

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    RewriteBase /
    RewriteRule ^index.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    </IfModule>
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    RewriteBase /
    RewriteRule ^index.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    </IfModule>
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{SERVER_PORT} !^443$
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
        RewriteBase /
        RewriteRule ^index.php$ - [L]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
    </IfModule>

    008-Insecure-Content

    注:同样地,建议先对.htaccess文件备份, 再执行相关操作,以防这些更改出错。

    如果一切正常,您应该不会再看到混合内容错误。但是,如果您使用缓存插件,您可能仍会遇到错误。如果是这种情况,请确保清除网站的缓存并再次尝试加载您的网站。

    小结

    如果在WordPress中遇到混合内容错误,这并不像听起来那么可怕。事实上,它是比较容易修复的WordPress错误消息之一。无论您更喜欢插件修复还是深入研究WordPress核心文件,摆脱网站上的混合内容错误都是快速和容易的。