跳到主要内容

您的 WordPress 帖子是否返回 404 错误?不知道为什么会发生这种情况以及如何解决此问题?阅读我们的详细指南,了解如何快速轻松地解决此问题。

我们将详细解释为什么会发生这种情况,并提供多种解决方法。无论是什么导致您的博客出现此错误,我们的指南都将为这个痛苦的问题提供解决方案。

首先,你应该知道你并不孤单。带有 404 错误的帖子以及500内部服务器错误是 WordPress 用户中非常常见的问题。它通常可能是由一个小的更改引起的,但可能需要一些时间来修复,尤其是如果您只是一个初学者。

除非您使用专业网页设计公司(例如Cyber​​Craft )的服务,否则您必须自己解决此问题。在我们解释如何解决之前,让我们尝试了解导致此错误的原因。

如何修复返回404错误的wordpress帖子
如何修复返回404错误的wordpress帖子

什么导致 WordPress 帖子 404 错误?

此错误的最常见原因是 .htaccess 被意外删除或丢失。另一个原因可能是不正确的重写规则。此外,可能还有一些其他未知原因或插件或主题的一些问题。

无论您正在处理的原因是已知的还是未知的,我们都将为您提供详细的算法,用于识别和消除 404 错误的原因,一劳永逸。让我们开始吧!

解决 WordPress 帖子 404 错误的 5 种方法

哪种方法正确取决于每个具体情况。我们的分步算法将允许快速轻松地解决此问题。以下是您应该采取的步骤:

  • 修复固定链接
  • 使 .htaccess 文件可写
  • 确保 .htaccess 具有正确的 WordPress 权限
  • 检查您的主题是否导致错误
  • 停用所有插件并检查是否存在导致此问题的插件

最有可能的是,大多数人只需第一步或第二步即可修复此错误。但即使这些没有帮助,请继续执行后续步骤,直到解决错误为止。让我们详细分析每个步骤。

修复固定链接

帖子、页面等的永久、永不更改的 URL 称为永久链接。它不得与任何其他现有链接相同。默认情况下,WordPress 永久链接由帖子的 ID 组成。

可以更改永久链接的格式,例如,包括发布日期、标题等。这些类型的链接称为漂亮的永久链接。

但是,有些事情可能会阻止永久链接正常运行,这可能会导致 404 错误。例如,当 Apache 的mod_rewrite函数不起作用时,就会发生这种情况。重置永久链接可能有助于解决 Apache 的这个问题。

转到“设置”中的“永久链接”部分。选择“普通”选项并点击“保存”。之后,激活之前的永久链接设置并再次单击“保存”。

对于自定义帖子类型,如果两个或多个自定义帖子类型具有相同的 slug 或标题,您将遇到 404 错误。因此,请修复此问题并确保它不再发生。检查 404 错误是否已消失。如果没有,请继续下一步。

重置 .htaccess 文件

.htaccess 文件可以在您网站的根目录中找到。您可以使用 FTP、cPanel、命令行、SSH 来访问它。您可以下载它并在文本编辑器中进行必要的编辑,然后上传它以替换旧文件或直接编辑它。

我们建议您在进行任何此类更改之前对您的网站进行完整备份。如果您从未对 .htacess 文件进行过任何更改,您只需删除并单击“设置”的“永久链接”部分中的“保存”即可。WordPress 将从头开始创建一个新的 .htaccess 文件,您无需进行任何编辑。

否则,将以下代码替换为 .htaccess 文件中的当前代码(如果您只安装了 WordPress):

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

但是,如果您在子域上运行 WordPress 网站,请插入以下代码:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L] RewriteRule ^(wp-(content|admin|includes).*) $1 [L] RewriteRule ^(.*\.php)$ $1 [L] RewriteRule . index.php [L]

此外,如果我们正在处理子目录安装,请插入以下代码:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] RewriteRule . index.php [L]

如果您运行的是 WordPress 3.4 或任何旧版本,请查看 WordPress Codex 的 htacesss 参考指南。更新 .htaccess 代码后,404 错误应该会消失。如果这对我们的下一步没有帮助。

确保 .htaccess 具有正确的 WordPress 权限

如果前面的步骤不起作用,请检查您的 .htaccess 文件是否适用于 WordPress 的正确权限。您想将此文件的权限设置为 644。您可以通过 cPanel 或 FTP 执行此操作。或者,您可以尝试使用 SSH 执行此操作:

find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;

检查您的主题是否导致错误

如果您仍然没有成功,请停用您当前的主题并启用 WordPress 的经典二十七。进入“外观”的“主题”部分,找到二十七,点击“激活”。检查 404 错误是否仍然存在。如果它消失了,那么是您使用的主题导致了错误。否则,继续下一步。

停用所有插件

有时某个插件可能会导致您的 WordPress 网站出现各种问题。因此,如果之前的方法都没有帮助您,请转到“插件”,选择所有这些,然后单击“停用”。

检查 404 错误是否仍然存在。如果消失了,就一个一个地重新激活每个插件,并检查每次激活之间是否出现错误。一旦激活另一个插件后再次出现错误,那就是导致它的那个。

最后的话
正如帖子上的 404 错误是最常见的 WordPress 问题之一,因此很容易解决。有五种众所周知的方法可以解决此问题,我们在本指南中详细介绍了所有这些方法。现在轮到您在实践中应用我们的指南了。祝你好运:)

回到顶部