迁移备份的 WordPress 并解决域名重定向问题

在备份和迁移 WordPress 网站时,最常见的问题之一就是域名重定向,尤其是当从原有的生产环境迁移到本地环境进行调试时。此外如果你的 WordPress 设置了 HTTPS 重定向,而你在本地并没有配置 SSL 证书,可能会遇到 ERR_SSL_PROTOCOL_ERROR 错误,导致无法访问后台页面。本文将介绍如何在本地部署备份的 WordPress 网站并解决域名重定向问题。

步骤 1:准备 Docker Compose 部署环境

首先,确保你已经使用 Docker Compose 在本地部署了 WordPress 和 MySQL 服务。以下是一个示例的 docker-compose.yml 文件:

docker-compose.yml:
version: '3.3'
services:
  wordpress:
    image: wordpress:latest
    ports:
      - "18080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
      - ./wp_data:/var/www/html
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    volumes:
      - ./db_data:/var/lib/mysql

确保你将备份的数据文件放到相应的位置,并启动服务:

docker-compose up -d

步骤 2:修改 wp-config.php 文件以覆盖域名设置

在本地环境中,原来的生产域名可能会导致重定向到错误的 URL。为了解决这个问题,可以修改 wp-config.php 文件。

wp-config.php 中添加以下两行代码,强制 WordPress 使用你能访问的URL,如果是本地 URL即为:

define('WP_HOME', 'http://localhost:18080');
define('WP_SITEURL', 'http://localhost:18080');

将这些代码添加到文件中 /* That's all, stop editing! Happy publishing. */ 上方的位置,这样 WordPress 会自动使用本地地址而不是之前的生产环境域名。

步骤 3:权限修复

在项目根目录运行

sudo chown -R 33:33 ./wp_data/wp-content/plugins
sudo chown -R 33:33 ./wp_data/wp-content/themes
sudo chown -R 33:33 ./wp_data/wp-content/uploads
sudo chown -R 33:33 ./wp_data/wp-content/upgrade
sudo chown -R 33:33 ./wp_data/wp-content/
sudo chmod -R 775 ./wp_data/wp-content/plugins
sudo chmod -R 775 ./wp_data/wp-content/themes
sudo chmod -R 775 ./wp_data/wp-content/uploads
sudo chmod -R 775 ./wp_data/wp-content/upgrade
sudo chmod -R 775 ./wp_data/wp-content/

步骤 4:禁用 Really Simple SSL 插件

如果你的 WordPress 网站之前安装了 Really Simple SSL 插件,它可能会导致本地访问时自动重定向到 HTTPS,从而引发 ERR_SSL_PROTOCOL_ERROR 错误。由于你无法访问 WordPress 后台来禁用插件,可以通过以下方法手动禁用它。

方法:通过数据库禁用插件

  1. 进入 MySQL 容器:
   docker-compose exec db mysql -u wordpress -pwordpress wordpress
  1. 查询当前激活的插件:
   SELECT * FROM wp_options WHERE option_name = 'active_plugins';
  1. 找到 really-simple-ssl/rlrsssl-really-simple-ssl.php,并通过以下 SQL 语句将其移除:
   UPDATE wp_options
   SET option_value = 'a:4:{i:0;s:31:"elementor-pro/elementor-pro.php";i:1;s:23:"elementor/elementor.php";i:2;s:19:"jetpack/jetpack.php";i:3;s:39:"wp-add-mime-types/wp-add-mime-types.php";}'
   WHERE option_name = 'active_plugins';

这样就可以禁用 Really Simple SSL 插件,防止重定向到 HTTPS。注意第二行需要根据你的实际情况删除really-simple-ssl

步骤 5:清除浏览器缓存并测试访问

完成以上步骤后,确保清除浏览器缓存,或者使用隐身模式访问 http://localhost:18080。这样你就可以正常访问本地部署的 WordPress 网站,并进行调试和开发。

可能出现的问题

Elementor存在一个Bug,会导致一些页面的CSS文件丢失,首先尝试Elementor-Tools-Regenerate CSS选项,如无效果,则前往Elementor-Settings-Performance将CSS Print Method改为Internal Embedding。

总结

在迁移 WordPress 备份到本地环境时,常常会遇到域名重定向和 SSL 问题。通过修改 wp-config.php 文件覆盖域名设置,并手动禁用像 Really Simple SSL 这样的插件,你可以成功解决这些问题,确保本地访问无误。希望这些步骤对你在本地调试和开发 WordPress 网站时有所帮助。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇