WordPress 恢复后出现 “未找到页面” 完整修复教程(适用于 Docker 环境)
WordPress 恢复后出现 “未找到页面” 完整修复教程(适用于 Docker 环境)

WordPress 恢复后出现 “未找到页面” 完整修复教程(适用于 Docker 环境)

UpdraftPlus 恢复后,WordPress 经常出现:

未找到 您浏览的页面未找到。也许搜索能帮到您。

这是因为 固定链接(permalink)损坏.htaccess 缺失。

按照下面步骤操作即可修复。

第一步:确认 WordPress 容器正常运行

docker ps

你应该看到类似:

CONTAINER ID   NAMES        STATUS
xxxxxxxxxxxx   wordpress   Up 10 minutes

如果未运行:

docker start wordpress

第二步:进入 WordPress 容器

docker exec -it wordpress bash
cd /var/www/html

第三步:检查 .htaccess 是否存在

ls -al /var/www/html/.htaccess

如果文件不存在(大部分情况都是)

请执行:

cat > /var/www/html/.htaccess << 'EOF'
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
EOF

修复权限:

chown www-data:www-data /var/www/html/.htaccess

第四步:修复固定链接(最重要的一步)

如果你能进入 WordPress 后台:

进入后台 → 设置 → 固定链接

选择你原来的 URL 结构(如文章名) 什么都不要改,直接点“保存更改”

这会自动刷新 WordPress rewrite 规则。

刷新网站即可恢复。

如果你无法进入后台(例如后台也 404)

我们使用 WP-CLI 自动修复。

1. 确认 WP-CLI 是否存在

容器内:

wp --info

如果不存在则安装:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp

2. 用 WP-CLI 重建固定链接规则

wp rewrite flush --hard

如果你看到:

Rewrite rules flushed.

说明已成功修复。

第五步(可选):修复文件权限

恢复备份后权限可能会乱:

chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html

第六步(可选):禁用所有插件(如果仍然 404)

UpdraftPlus 恢复后插件经常冲突。

禁用插件:

mv wp-content/plugins wp-content/plugins.bak
mkdir wp-content/plugins

刷新网站,如果正常了,就是插件的问题。

恢复插件:

rm -rf wp-content/plugins
mv wp-content/plugins.bak wp-content/plugins

完成:网站应该已经恢复正常

如果你按以上步骤完成,WordPress 任何 “未找到页面” 错误都会被修好。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Title - Artist
0:00