Bluehost多附加域名环境下WordPress站点从a.com更换为b.com相关问题
操作步骤
第一步:修改b.com的附加域根目录指向
登录Bluehost后台,进入「附加域(Addon Domains)」管理页,找到b.com对应的配置项,将它的文档根目录从默认的public_html/b修改为public_html/a。这一步是核心,你之前修改配置不生效的原因就是访问b.com时请求根本没有落到存放WordPress程序的a目录,自然无法加载站点内容。第二步:确认wp-config.php配置正确
打开public_html/a目录下的wp-config.php文件,确认你添加的两行配置是写在文件末尾的停止编辑类注释之前,不要放错文件位置(不要放到空的b目录下):define('WP_HOME','http://b.com'); define('WP_SITEURL','http://b.com');如果你已经为b.com配置了SSL证书,需要将地址前缀改为
https。第三步:替换数据库中残留的旧域名
站点之前运行在a.com,数据库内还留存大量旧域名链接,直接访问会出现图片加载失败、页面跳转回a.com的问题。可以登录Bluehost后台的phpMyAdmin,找到对应站点的数据库,执行以下SQL语句(注意将wp_替换为你实际的数据库表前缀,旧新域名对应修改):-- 替换站点基础配置 UPDATE wp_options SET option_value = replace(option_value, 'http://a.com', 'http://b.com') WHERE option_name = 'home' OR option_name = 'siteurl'; -- 替换文章内容内链、图片地址 UPDATE wp_posts SET post_content = replace(post_content, 'http://a.com', 'http://b.com'); -- 替换自定义字段内的域名 UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://a.com', 'http://b.com');第四步:清除所有缓存
依次清除浏览器缓存、Bluehost服务器自带的缓存、WordPress站点安装的缓存插件生成的缓存,即可正常通过b.com访问站点。
可选配置(旧域名跳转)
如果需要让原本访问a.com的用户自动跳转到新域名b.com,可以在public_html/a目录下的.htaccess文件开头添加以下301跳转规则:
RewriteEngine On RewriteCond %{HTTP_HOST} ^a.com$ [OR] RewriteCond %{HTTP_HOST} ^www.a.com$ RewriteRule ^(.*)$ http://b.com/$1 [R=301,L]
内容的提问来源于stack exchange,提问作者zzazzles
相关产品推荐
相关产品推荐

